import requests
from lxml import etree
import pandas as pd
ip_list=[]#创建保存IP地址的列表
def get_ip(url,headers):
response = requests.get(url,headers=headers)
response.encoding='utf-8'#设置编码方式
if response.status_code==200:#判断请求是否成功
html = etree.HTML(response.text)#解析HTML
li_all=html.xpath('//li[@class="f-list col-lg-12 col-md-12 col-sm-12 col-xs-12"]')
for i in li_all:#遍历每行内容
ip = i.xpath('span[@class="f-address"]/text()')[0]#逐个获取ip
port = i.xpath('span[@class="f-port"]/text()')[0]#逐个获取端口
ip_list.append(ip+':'+port)#将ip与端口组合并添加到列表中
print('代理ip为:',ip,'对应端口:',port)
#头部信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
if __name__=='__main__':
ip_table = pd.DataFrame(columns=['ip'])#创建临时表格
for i in range(1,5):
#获取免费代理ip的请求地址
url = 'https://www.dieniao.com/FreeProxy/{page}.html'.format(page=i)
get_ip(url,headers)
ip_table['ip']=ip_list#将提取的ip保存到EXCEL文件中的ip列
ip_table.to_excel('ip.xlsx',sheet_name='data')#生成xlsx文件
python 爬虫 获取免费的代理ip地址
最新推荐文章于 2023-05-06 10:47:18 发布
该代码段演示了如何使用Python的requests和lxml库从网页抓取免费代理IP,并将其存储到Excel文件中。首先定义了一个get_ip函数,通过发送HTTP请求获取HTML页面,然后使用XPath解析IP和端口信息,将它们组合并添加到列表中。最后,将收集到的IP列表保存到名为'ip.xlsx'的Excel文件中。
摘要由CSDN通过智能技术生成