禁止爬蟲訪問
㈠ 爬蟲時IP被限制怎麼解決
互聯網時代,我們可以輕松交換各種信息資源。隨著數據量的增長,爬蟲已經成了獲取數據的主流方式。如果你需要爬取的數據量比較大,難免會遇到大規模爬蟲IP被網站封禁的情況。大部分網站都會有反爬蟲策略,我們該如何應對呢?和IPIPGO一起來看看吧~
方法一:對爬蟲抓取進行壓力控制,可以考慮使用 IPIPGO代理IP 訪問目標站點。
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(spider_header)
urlhandle = urllib.request.ProxyHandler({'http': proxy})
opener = urllib.request.build_opener(urlhandle)
urllib.request.install_opener(opener)
req = urllib.request.Request(url)
req.add_header('User-Agent', header)
author_poem = []
response_result = urllib.request.urlopen(req).read()
html = response_result.decode('utf-8')
html = etree.HTML(html)
方法二:頻繁切換UserAgent
不同瀏覽器的不同版本都有不同的user_agent,是瀏覽器類型的詳細信息,也是瀏覽器提交Http請求的重要頭部信息。我們可以在每次請求的時候提供不同的user_agent,繞過網站檢測客戶端的反爬蟲機制。比如說,可以把很多的user_agent放在一個列表中,每次隨機選一個用於提交訪問請求。