您的位置:首页 >新闻资讯

xpython怎么设置代理ip

来源:本站 作者:admin 时间:2019-06-17 17:03:33

在使用爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度,高效率的爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,这里讲述一个爬虫技巧,就是xpython怎么设置代理IP。


 xpython怎么设置代理ip


首先来看一下配置环境:安装requests库;安装bs4库;安装lxml库。

 

接下来直接进入代码展示:

 

from bs4 import BeautifulSoup

 

import requests

 

import random

 

def get_ip_list(url, headers):

 

web_data=requests.get(url, headers=headers)

 

soup=BeautifulSoup(web_data.text, 'lxml')

 

ips=soup.find_all('tr')

 

ip_list=[]

 

for i in range(1, len(ips)):

 

ip_info=ips[i]

 

tds=ip_info.find_all('td')

 

ip_list.append(tds[1].text + ':' + tds[2].text)

 

return ip_list

 

def get_random_ip(ip_list):

 

proxy_list=[]

 

for ip in ip_list:

 

proxy_list.append('http://' + ip)

 

proxy_ip=random.choice(proxy_list)

 

proxies={'http': proxy_ip}

 

return proxies

 

if __name__=='__main__':

 

url='http://www.xicidaili.com/nn/'

 

headers={

 

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'

 

}

 

ip_list=get_ip_list(url, headers=headers)

 

proxies=get_random_ip(ip_list)

 

print(proxies)

 

代理IP的使用:运行上面的代码会得到一个随机的proxies,把它直接传入requests的get方法中即可。

 

web_data=requests.get(url, headers=headers, proxies=proxies)

相关文章内容简介
推荐阅读