我们在做爬虫代理ip的过程中经常会遇到这样的情况:最初爬虫正常运行,正常抓取数据,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden;这时候网页上可能会出现“您的IP访问频率太高”这样的提示,过很久之后才可能解封,但是一会后又出现这种情况。
夜神代理ip 因此我们使用某种方式来伪装本机IP,以使服务器无法识别由本地计算机发起的请求,这样我们可以成功地阻止IP被封。所以这时候代理ip就派上用场了。
爬虫的一般思路
1、确定爬取的url路径,headers参数
2、发送请求 -- requests 模拟浏览器发送请求,获取响应数据
3、解析数据 -- parsel 转化为Selector对象,Selector对象具有xpath的方法,能够对转化的数据进行处理
4、保存数据
[环境介绍]:
python 3.6
pycharm
requests
parsel(xpath)
代码如下:
import requests
import parsel
import time
def check_ip(proxies_list):
"""检测ip的方法"""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'}
can_use = []
for proxy in proxies_list:
try:
response = requests.get('http://www.yeshenip.com/', headers=headers, proxies=proxy, timeout=0.1)
if response.status_code == 200:
can_use.append(proxy)
except Exception as error:
print(error)
return can_use