爬虫:程序跑一段时间就被封了?

很容易解决

由于:

1、网站服务器在收到请求的同时还能获得请求方的IP地址,当网站服务器检测到短时间内同一IP地址发起了大量请求,就会认为该IP地址的用户是爬虫程序,并对该IP地址进行访问限制。为了规避这种“反爬”手段,可以使用代理服务器代替实际的IP地址来发起请求。

2、很多网站服务器为了防止他人爬取数据,会对发起请求的一方进行身份验证,主要手段就是看请求包的请求头中的User-Agent信息。

因此:使用requests包的headers,proxies参数可以完美规避反爬。

解决方法:

我所使用的版本是python3.9.6,代码如下:

import requests

# 你所请求的网址
url=''

# 按F12,在开发者工具里依次点击network,name,headers,User-Agent
headers = {'User-Agent': ''}

# 代理服务器的ip和端口可以在你个人计算机的设置里找到
proxies = {'http': 'ip:端口'}

r = requests.get(url, headers=headers, proxies=proxies)

print(r.content)

  

posted @ 2021-10-13 11:48  程序猿不缺对象  阅读(159)  评论(0)    收藏  举报