咱们好,我是Lex 喜爱欺压超人那个Lex

擅长领域:python开发、网络安全渗透、Windows域控Exchange架构

今天重点:一步步剖析and跳过亚马逊的反爬虫机制

工作是这样的

亚马逊是全球最大的购物途径

许多产品信息、用户评价等等都是最丰盛的。

今天,手把手带咱们,跳过亚马逊的反爬虫机制

爬取你想要的产品、谈论等等有用信息

【爬虫实战】一同一步步剖析亚马逊的反爬虫机制

反爬虫机制

可是,咱们想用爬虫来爬取相关的产品数据信息时

像亚马逊、TBao、JD这些大型的购物商城

他们为了维护自己的数据信息,都是有一套完善的反爬虫机制的

先试试亚马逊的反爬机制

咱们用不同的几个python爬虫模块,来一步步探问

毕竟,成功跳过反爬机制。

一、urllib模块

代码产品介绍如下:

# -宫崎骏*- coding:utf-8 -*-
import urllib.request
req = urllib.request.urlopen源码资本('https://www.amazon.com')
print(req.code)

回来作用:状况码:503。

剖析:亚马逊将你的央求,辨以为源码是什么意思了爬虫,拒绝供给服务。

【爬虫实战】一同一步步剖析亚马逊的反爬虫机制

本着科学谨慎的态度,咱们拿万人上的百度试一下。宫颈癌前期症状

回来作用:状况码 200

剖析:正常拜访

【爬虫实战】一同一步步剖析亚马逊的反爬虫机制

那阐明,urllib模块的央求,被亚马逊辨以为爬虫,并拒绝供给服务

二、requests模块

1、requests直接爬虫拜访

作用如下 ↓ ↓ ↓

【爬虫实战】一同一步步剖析亚马逊的反爬虫机制

代码如下 ↓ ↓ ↓

i宫颈癌前期症状mport requests
url='https://www.amazon.com/KAVU-Rope-Bag-Dehttp协议nim-Size/服务器product-reviews/宫崎骏xxxxxx'
r = r产品经理equests.ge产品运营t(url)
print(r.status_code)

回来作用:状况码:503。

剖析:亚马逊同样拒绝了requsets模块的央求

将其辨以为了爬虫,拒绝供给服务。

2、咱们给requests加上cookie

加上央求cookie等相关信息

作用如下 ↓ ↓ ↓

【爬虫实战】一同一步步剖析亚马逊的反爬虫机制

代码如下 ↓ ↓ ↓

import requests
url='https://www.amazon.com/KAV服务器U-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,https和http的差异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 os
from requests.apihttp://www.baidu.com import options
from selenium import webdriver
from selenium.webdriver.chrome.option宫崎骏s impo源码编辑器rt Options
#selenium装备参数
options = Options()
#装备无头参数,即不翻开浏览器
options.add_argument('--headless')
#装备Chrome产品经理浏览器的selenium驱动
chromedriver="C:/Users/pacer/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdr服务器怎么建立iver.chrome.driver"] = chromedriver
#将参数设置+浏览器驱动组合
browser = w宫颈癌前期症状ebdriver.Chr源码编辑器手机版下载ome(chromedr服务器是什么iver,chrome_options=options)

测验拜访

url = "https://www.ama公积金zon.com"
print(url)
#通过selhttp协议enium来拜访亚马逊
browser.get(url)

回来作用:状况工作总结码:200

剖析:回来状况源码码是200了源码之家,拜访状况正常,咱们再看看爬到的网页信息。

http 500网页源码保存到本地

#将宫颈癌前期症状爬取到的网页信息,写入到本地文件
fw=op产品艺术设计专业en('E:/amzon.html','w',encoding='utf-8')
fw.write(str(browser.page_source))
browser.close()服务器体系
fw.close()

翻开咱们爬取的本地文件,查httpwatch看 ,

咱们现已成功跳过了反爬虫机制,进入到了Amazon的主页

【爬虫实战】一同一步步剖析亚马逊的反爬虫机制

结局

通过selenium模块,咱们能够成功的跳过

亚马逊的反爬虫机制。

下一篇:咱们持续介绍,如何来爬取亚马逊的数十万产品信息及谈论。

【有问题,请留言~~~】