您好,登錄后才能下訂單哦!
在使用python對網頁進行多次快速爬取的時候,訪問次數過于頻繁,服務器不會考慮User-Agent的信息,會直接把你視為爬蟲,從而過濾掉,拒絕你的訪問,在這種時候就需要設置代理,我們可以給proxies屬性設置一個代理的IP地址,代碼如下:
import requests from lxml import etree url = "https://www.ip.cn" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.116", } pro = { # 'https': 'https://118.122.92.252:37901', #四川省成都市 電信 'https': 'https://27.17.45.90:43411', #湖北省武漢市 電信 } try: response = requests.get(url, headers=headers, proxies=pro) html_str = response.content.decode() # print(html_str) html = etree.HTML(html_str) message = html.xpath("http://div[@class='well']//p/text()") ip = html.xpath("http://div[@class='well']//p/code/text()") eng = html.xpath("http://div[@class='well']/p/text()") print(message[0]+ip[0]) print(message[1]+ip[1]) print(eng[2]) except requests.exceptions.ProxyError as e: print("當前代理異常") except: print("當前請求異常")
在上面的代碼中,調用requests庫,對一個IP地址查詢網頁進行訪問,隨后使用lxml庫的xpath對網頁進行分析提取,返回用戶訪問此網頁時自己的IP地址,如果代理設置成功,則會返回你的信息和IP地址,如下:
如果代理失敗則會返回異常,在代碼中使用了捕獲異常,則會返回設置的提示信息,"當前代理異常",如果不是代理的錯誤則是"當前請求異常"
PS:免費的代理不是很穩定,在確認代碼無誤后,如果仍然返回異常,可嘗試更換代理IP...
總結
以上所述是小編給大家介紹的python爬蟲簡單的添加代理進行訪問的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。