关于python:失败了n次以后我总结了5种爬虫伪装技巧

7次阅读

共计 2223 个字符,预计需要花费 6 分钟才能阅读完成。

爬虫假装的最高境界就是用代码模仿人的实在操作,因为网站设计进去就是为了让他人拜访的,把握爬虫的假装技巧,可能让大大提高咱们爬虫的成功率。

联合本身的教训,给大家介绍 5 种爬虫假装的技巧,并把代码模板奉上,心愿可能对你有所帮忙。

1. 浏览器假装
因为网站服务器可能很轻易的辨认出拜访的起源浏览器,以 requests 申请为例,默认 header 头数据中没有浏览器信息,在与浏览器交互时几乎就是“裸奔”,所以咱们能够退出“User-Agent”信息伪装成实在浏览器,代码如下:

import requests 
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'}  #模仿成火狐浏览器
response = requests.get("http://www.baidu.com",headers=headers)  #模仿申请 url

2. 拜访地址假装
拜访地址指的是 headers 头部中的 reffer 信息,那么它有什么作用呢?举个例子解释一下:

我在 https://bj.meituan.com/ 里有一个 https://waimai.meituan.com/ 链接,那么点击这个 https://waimai.meituan.com/,它的 header 信息里就有:Referer=https://bj.meituan.com/

那么能够利用这个来避免盗链,比方我只容许我本人的网站拜访我本人的图片服务器

咱们能够退出“reffer”信息假装拜访地址,代码如下:

import requests 
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',
    'reffer':'https://bj.meituan.com/'}
response = requests.get("https://waimai.meituan.com/",headers=headers)  #模仿申请 url

3.ip 地址假装
对于网络中的反爬虫策略来说,大多数都是依据单个 IP 的行为来判断是不是网络爬虫的,例如,反爬虫检测到某个 IP 的拜访次数很多,或者是拜访的频率很快,就会封禁这个 IP。这时咱们就要抉择代理 IP 来冲破反爬虫的机制,更稳固的及逆行数据的爬取。python 增加代理 IP 的代码如下:

import requests 
proxies={'https':'101.236.54.97:8866'} 
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',
    'reffer':'https://bj.meituan.com/'}
response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies)  #模仿申请 url

代理 IP 能够本人去网上找收费的,但不太稳固,也可去花钱买一些比较稳定的。

4. 假装拜访速率
实在用户的拜访次数以及拜访法则是很稳固的,并不会屡次的拜访,所以咱们要伪装成实在的用户来爬取数据,这样反爬虫机制就不会觉察,能够采纳管制拜访频率的形式,次要是随机设置拜访工夫,代码如下:

import requests 
import time,random
proxies={'https':'101.236.54.97:8866'} 
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',
    'reffer':'https://bj.meituan.com/'}
for i in range(10):
    response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies)  #模仿申请 url
    time.sleep(random.uniform(1.1,5.4))

5. 假装用户实在信息
有些网页是须要登录后才会显示数据,而 cookie 值会携带集体的登录信息,在爬虫中退出 cookie 值就能防止登录的麻烦,例如知乎、京东等网站,退出办法如下:


import requests 
proxies={'https':'101.236.54.97:8866'} 
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',
    'reffer':'https://bj.meituan.com/'}
cookies=''response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies,

最近整顿了几百 G 的 Python 学习材料,蕴含新手入门电子书、教程、源码等等,收费分享给大家!想要的返回“Python 编程学习圈”,发送“J”即可收费取得

正文完
 0