1. 控制抓取节奏
- 网站对爬虫的限制,最主要依赖于每个IP(或每个用户)的访问频次,过高频率
的访问会被网站限制访问 - 控制节奏主要针对每个目标地址的访问频率
2. 解决方法
- 引入time库
import time
def get_content(self, topic_url, page):
querystring = {"ajax": "", "p": str(page)}
url = self.domain + topic_url
r = requests.get(url, params=querystring)
# 方便调用
self.html = r.text
self.tree = etree.HTML(r.text)
#每抓一个网页都有2.5秒的停顿
time.sleep(2.5)