很多商品信息、用户评价等等都是最丰富的。
本日,手把手带大家,超越亚马逊的反爬虫机制
爬取你想要的商品、评论等等有用信息

反爬虫机制
但是,我们想用爬虫来爬取干系的数据信息时
像亚马逊、TBao、JD这些大型的购物商城
他们为了保护自己的数据信息,都是有一套完善的反爬虫机制的
先试试亚马逊的反爬机制我们用不同的几个python爬虫模块,来一步步试探
终极,成功超越反爬机制。
一、urllib模块代码如下:
# -- coding:utf-8 --import urllib.requestreq = urllib.request.urlopen('https://www.amazon.com')print(req.code)复制代码
返回结果:状态码:503。
剖析:亚马逊将你的要求,识别为了爬虫,谢绝供应做事。
本着科学严谨的态度,我们拿万人上的百度试一下。
返回结果:状态码 200
剖析:正常访问
本着科学严谨的态度,我们拿万人上的百度试一下。
返回结果:状态码 200
剖析:正常访问
代码如下 ↓ ↓ ↓
import requestsurl='https://www.amazon.com/KAVU-Rope-Bag-Denim-Size/product-reviews/xxxxxxx'web_header={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0','Accept': '/','Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2','Accept-Encoding': 'gzip, deflate, br','Connection': 'keep-alive','Cookie': '你的cookie值','TE': 'Trailers'}r = requests.get(url,headers=web_header)print(r.status_code)复制代码
返回结果:状态码:200
剖析:返回状态码是200了,正常了,有点爬虫那味了。
3、检讨返回页面
我们通过requests+cookie的方法,得到的状态码为200
目前至少被亚马逊的做事器正常供应做事了
我们将爬取的页面写入文本中,通过浏览器打开。
我踏马...返回状态是正常了,但返回的是一个反爬虫的验证码页面。
还是 被亚马逊给挡住了。
三、selenium自动化模块干系selenium模块的安装
pip install selenium复制代码
代码中引入selenium,并设置干系参数
import osfrom requests.api import optionsfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Options#selenium配置参数options = Options()#配置无头参数,即不打开浏览器options.add_argument('--headless')#配置Chrome浏览器的selenium驱动 chromedriver="C:/Users/pacer/AppData/Local/Google/Chrome/Application/chromedriver.exe"os.environ["webdriver.chrome.driver"] = chromedriver#将参数设置+浏览器驱动组合browser = webdriver.Chrome(chromedriver,chrome_options=options)复制代码
测试访问
url = "https://www.amazon.com"print(url)#通过selenium来访问亚马逊browser.get(url)复制代码
返回结果:状态码:200
剖析:返回状态码是200了,访问状态正常,我们再看看爬到的网页信息。
将网页源码保存到本地
#将爬取到的网页信息,写入到本地文件fw=open('E:/amzon.html','w',encoding='utf-8')fw.write(str(browser.page_source))browser.close()fw.close()复制代码
打开我们爬取确当地文件,查看 ,
我们已经成功超越了反爬虫机制,进入到了Amazon的首页
结局
通过selenium模块,我们可以成功的超越
亚马逊的反爬虫机制。
下一篇:我们连续先容,如何来爬取亚马逊的数十万商品信息及评论。
【有问题,请留言~~~】
作者:LexSaints链接:https://juejin.cn/post/6974300157126901790来源:掘金