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

Python爬虫代理ip从哪里来的

来源:本站 作者:admin 时间:2019-06-18 16:21:43

在网络上经常会看到这样一个词,代理,简单来说代理就是换个身份,网络中的身份之一就是IP。比如,我们要访问一些内网,但是我们的IP会被网站限制,这个时候换个IP就可以访问内网,这个就是简单的代理。在爬虫中,有些网站可能为了防止爬虫或者DDOS等,会记录每个IP的访问次数,比如,有些网站允许一个IP在1s(或者别的)只能访问10次等,那么我们就需要访问一次换一个IP,那么问题来了,代理IP从哪里来呢?公司的话可以选择购买代理IP,但是对于个人,可以在网络上寻找一些免费的代理IP,但是这些IP的质量不能保证,可以去风讯代理看看。还有我们可以用爬虫代理IP,这里举个例子分享给大家:


 Python爬虫代理ip从哪里来的


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)

 


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