requests爬蟲使用的IP代理未生效(解決方法)

在通過requests代理進行網絡爬蟲,或者是scrapy進行網絡爬蟲時,不可避免用到IP代理方式一個IP多次訪問導致IP地址被封禁,結果無法獲取數據的尷尬。但是有時候出現IP代理無法失效的情況:

解決方法爲:

查看請求的url地址使用的協議時http還是https,我們設置的代理ip的協議也應該時相同的協議,否則代理不會生效的。

代理方法如下:

# 驗證ip地址是否正確,,
import requests
from lxml import etree

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0",
}
url = 'http://ip.tool.chinaz.com/'
proxies = {
    "http": "http://120.78.185.175:8118"
}

wb_data = requests.get(url=url, headers=headers, proxies=proxies)
content = etree.HTML(wb_data.text)
print(content.xpath('//*[@id="rightinfo"]/dl/dd[1]/text()')[0])

我們可以在https://www.xicidaili.com得到ip列表(免費的ip代理,但是還是需要一個更快的的代理ip地址)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章