爬虫实战中常用的三个反爬保护措施

102 阅读1分钟

保护措施一:伪代理头

在使用requests库时,发出get/post请求时可以加入参数如headers、proxies、timeout等等。

在headers中,可通过写useragent和referer实现保护自己、反爬。

具体使用方法如下:

import random
import requests
from fake_useragent import UserAgent

# ua = UserAgent(path="文件指定路径")
ua = UserAgent(path=r"H:\fake-useragent0.1.11.json")
headers = {"User-Agent": ua.random, 
           "Referer": "路径"}
response = requests.get(url, headers=headers)

其中,fake-useragent文件如下:

Resource:链接👇

https://pan.baidu.com/s/1RsZiPdSdL3w6eBoDylAfAA

Password:max9

下载到本地即可。

保护措施二:随机代理IP

一般通过ip网站接口调用或自行构建ip池。

具体使用方法如下:

import random
import requests

proxies_list = ["http:27.42.168.46:55481",...]
# 如ip_num为27.42.168.46
# 如port_num为55481
proxies = proxies_list.random
response = requests.get(url, proxies=proxies)

注意,自行构建ip池需要定期维护。

保护措施三:休眠

import random
import requests
import time


for url in range(url_list):
    response = requests.get(url)
    time.sleep(random.randint(1,3))
    return response

通过休眠的方式,模拟人类的操作行为即可。