Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

763次阅读
没有评论

亚马逊是全球最大的购物平台

很多商品信息、用户评价等等都是最丰富的。

今天,手把手带大家,越过亚马逊的反爬虫机制

爬取你想要的商品、评论等等有用信息

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

反爬虫机制

但是,我们想用爬虫来爬取相关的数据信息时

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

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

先试试亚马逊的反爬机制

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

最终,成功越过反爬机制。

一、urllib模块

代码如下:

# -*- coding:utf-8 -*- import urllib.request req = urllib.request.urlopen('https://www.amazon.com') print(req.code) 复制代码

返回结果:状态码:503。

分析:亚马逊将你的请求,识别为了爬虫,拒绝提供服务。

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

本着严谨的态度,我们拿万人上的百度试一下。

返回结果:状态码 200

分析:正常访问

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

那说明,urllib模块的请求,被亚马逊识别为爬虫,并拒绝提供服务

二、requests模块

1、requests直接爬虫访问

效果如下 ↓ ↓ ↓

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

代码如下 ↓ ↓ ↓

import requests url='https://www.amazon.com/KAVU-Rope-Bag-Denim-Size/product-reviews/xxxxxx' r = requests.get(url) print(r.status_code) 复制代码

返回结果:状态码:503。

分析:亚马逊同样拒绝了requsets模块的请求

将其识别为了爬虫,拒绝提供服务。

2、我们给requests加上cookie

加上请求cookie等相关信息

效果如下 ↓ ↓ ↓

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

代码如下 ↓ ↓ ↓

import requests

url='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

目前至少被亚马逊的服务器正常提供服务了

我们将爬取的页面写入文本中,通过浏览器打开。

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

我踏马…返回状态是正常了,但返回的是一个反爬虫的验证码页面。

还是 被亚马逊给挡住了。

三、selenium自动化模块

相关selenium模块的安装

pip install selenium 复制代码

代码中引入selenium,并设置相关参数

import os from requests.api import options from selenium import webdriver from 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的首页

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

结局

通过selenium模块,我们可以成功的越过

亚马逊的反爬虫机制。

关于Python技术储备 (文章篇幅有限,需要资料和源码获取方式在文末)

👉Python学习路线汇总

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

👉Python必备开发工具👈 

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

👉精品Python学习书籍👈

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

 

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

👉100道Python练习题👈

检查学习结果。

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

👉面试刷题👈

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

结束语 

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码【免费获取】。

Python【爬虫实战】一起一步步分析亚马逊的反爬虫机制

 

 

 

 

 

 

 

 

 

 

 

 

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-28发表,共计2842字。
新手QQ群:570568346,欢迎进群讨论 Python51学习