网页爬虫抓取百度图片(越过亚马逊的反爬虫机制,成功越过反爬机制(组图))
优采云 发布时间: 2022-03-10 04:21网页爬虫抓取百度图片(越过亚马逊的反爬虫机制,成功越过反爬机制(组图))
事情是这样的
亚马逊是全球最大的购物平台
很多产品信息、用户评论等都是最丰富的。
今天就带大家一起来穿越亚马逊的反爬虫机制吧
抓取您想要的有用信息,例如产品、评论等
反爬虫机制
但是,当我们想使用爬虫爬取相关数据信息时
亚马逊、TBO、京东等大型购物中心
为了保护他们的数据信息,他们都有一套完整的反爬虫机制。
先试试亚马逊的反爬机制
我们使用几个不同的python爬虫模块来一步步测试
最终,防爬机制顺利通过。
一、urllib 模块
代码显示如下:
# -*- coding:utf-8 -*-
import urllib.request
req = urllib.request.urlopen('https://www.amazon.com')
print(req.code)
复制代码
返回结果:状态码:503。
分析:亚马逊将你的请求识别为爬虫,拒绝提供服务。
以科学严谨的态度,来试试千人之首的百度吧。
返回结果:状态码200
分析:正常访问
以科学严谨的态度,来试试千人之首的百度吧。
返回结果:状态码200
分析:正常访问
代码如下↓ ↓ ↓
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
至少它目前由亚马逊的服务器提供服务。
我们将爬取的页面写入文本并在浏览器中打开。
我在骑马……返回状态正常,但是返回了反爬虫验证码页面。
仍然被亚马逊屏蔽。
三、硒自动化模块
相关硒模块的安装
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()
复制代码
打开我们爬取的本地文件查看,
我们已经成功绕过反爬机制,进入亚马逊首页
结尾
通过selenium模块,我们可以成功穿越
亚马逊的反爬虫机制。