前言

这篇文章介绍了如何使用 Python 爬虫技术获取代理IP并保存到文件中。通过使用第三方库 requests 发送HTTP请求,并使用 lxml 库解析HTML,我们可以从多个网页上获取IP、Port和地址信息。本文将逐步解析代码的每一部分,帮助读者更好地理解爬虫的工作原理。

导入依赖库

import requests
from lxml import etree
requestslxml

打开文件准备写入数据

with open('IP代理.txt','w',encoding='utf-8') as f:
openf'IP代理.txt''utf-8'

【玩转python系列】【小白必看】使用Python爬虫技术获取代理IP并保存到文件中循环爬取多个页面

for i in range(1,10):
    url = f'http://www.66ip.cn/{i}.html'
    print(f'正在获取{url}')
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'
    }
    resp = requests.get(url,headers = headers)
    resp.encoding ='gbk'
    e = etree.HTML(resp.text)
    ips = e.xpath('//div[1]/table//tr/td[1]/text()')
    ports = e.xpath('//div[1]/table//tr/td[2]/text()')
    addrs = e.xpath('//div[1]/table//tr/td[3]/text()')

    for i,p,a in zip(ips,ports,addrs):
        f.write(f'IP地址:{i}----port端口号:{p}-----地址:{a}\n')
ihttp://www.66ip.cn/{i}.html{i}print
headers
requestsheadersresp
'gbk'
elxmletree.HTML
ipsportsaddrs
zipforfwrite'IP地址:{i}----port端口号:{p}-----地址:{a}\n'
'IP代理.txt'

完整代码

import requests
from lxml import etree

# 定义保存结果的文件
with open('IP代理.txt', 'w', encoding='utf-8') as f:
    # 循环爬取多个页面
    for i in range(1, 10):
        # 构造完整的URL
        url = f'http://www.66ip.cn/{i}.html'
        print(f'正在获取{url}')

        # 伪装浏览器请求头
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'
        }

        # 发送GET请求
        resp = requests.get(url, headers=headers)

        # 设置响应的编码为GBK
        resp.encoding = 'gbk'

        # 解析HTML
        e = etree.HTML(resp.text)

        # 提取IP、Port和地址信息
        ips = e.xpath('//div[1]/table//tr/td[1]/text()')
        ports = e.xpath('//div[1]/table//tr/td[2]/text()')
        addrs = e.xpath('//div[1]/table//tr/td[3]/text()')

        # 将提取的代理信息写入文件
        for ip, port, addr in zip(ips, ports, addrs):
            f.write(f'IP地址:{ip}----port端口号:{port}-----地址:{addr}\n')

运行效果

结束语

通过本文介绍的Python爬虫技术,您可以轻松地获取代理IP并保存到文件中。这对于需要使用代理IP进行数据采集、反爬虫处理或其他网络爬虫应用非常有用。希望本文能够帮助您更好地理解爬虫的工作原理,并在实际项目中发挥作用。

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。