方法壹:控制抓取的壓力,可以考慮使用IPIPGO訪問目標站點。
proxy _ list = list(PD . read _ CSV(' IP _ list . CSV ')[' IP '])
spider _ header = list(PD . read _ CSV(' spider _ header _ list . CSV ')[' header '])
proxy = random.choice(proxy_list)
header = random.choice(蜘蛛_頭)
URL handle = URL lib . request . proxy handler({ ' http ':proxy })
opener = URL lib . request . build _ opener(URL handle)
URL lib . request . install _ opener(opener)
req = urllib.request.Request(url)
req.add_header('用戶代理',頭)
author_poem = []
response _ result = URL lib . request . urlopen(req)。閱讀()
html = response _ result . decode(' utf-8 ')
html = etree。HTML(html)
方法二:頻繁切換用戶代理。
不同版本的瀏覽器有不同的user_agent,它是瀏覽器類型的詳細信息,也是瀏覽器提交Http請求時重要的頭信息。我們可以為每個請求提供不同的user_agent,繞過網站檢測客戶端的反爬蟲機制。例如,您可以將許多user_agent放在壹個列表中,每次隨機選擇壹個來提交訪問請求。