网页爬虫抓取百度图片(越过亚马逊的反爬虫机制,成功越过反爬机制(组图))

优采云 发布时间: 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模块,我们可以成功穿越

  亚马逊的反爬虫机制。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线