标签:IP 代码 list 爬虫 lists headers ip data
使用python进行爬虫访问网站时,大部分时候需要当心IP访问过于频繁而被网站封锁
这个时候就需要使用一下IP代理池了
使用的是网上的免费IP网站:国内高匿代理
代码:
import requests
import time
import random
from lxml import etree
# 获取
def get_ip_list(headers, page):
ip_list = []
for i in range(int(page)):
# 爬取免费的IP
url = 'https://www.kuaidaili.com/free/inha/{}/'.format(i+1)
# print("爬取网址为:", url)
#获取代理IP地址
web_data = requests.get(url, headers=headers)
if web_data.status_code == 200:
tree0 = etree.HTML(web_data.text)
ip_lists = tree0.xpath('//table/tbody/tr/td[@data-title="IP"]/text()');
port_lists = tree0.xpath('//table/tbody/tr/td[@data-title="PORT"]/text()')
type_lists = tree0.xpath('//table/tbody/tr/td[@data-title="类型"]/text()')
# print(ip_lists)
# print(port_lists)
for x,y in zip(ip_lists, port_lists):
ip_list.append(x + ":" + y)
time.sleep(3) # 防止访问频率过快,被封
# print(len(ip_list))
return ip_list
# 组建随机IP地址
def get_random_ip(ip_list):
#获取代理IP地址
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__':
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地址
ip_list = get_ip_list(headers=headers, page=3)
print(ip_list)
标签:IP,代码,list,爬虫,lists,headers,ip,data 来源: https://blog.csdn.net/qq_36171287/article/details/113095615
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。