python使用爬虫储备代理IP
warning:
这篇文章距离上次修改已过192天,其中的内容可能已经有所变动。
以下是一个使用Python爬取代理IP并储存至文件的基本示例。请注意,这个例子仅用于学习目的,并不保证代理IP的有效性或可用性。
import requests
from lxml import etree
# 代理IP网站的URL
proxy_url = 'http://www.xicidaili.com/nn/'
# 发送HTTP请求获取页面内容
def get_page_content(url):
try:
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return None
except requests.exceptions.RequestException:
return None
# 解析页面并提取代理IP
def parse_and_extract_proxies(content):
html = etree.HTML(content)
proxies = html.xpath('//tr[@class="odd"] | //tr[@class="even"]')
extracted_proxies = []
for proxy in proxies:
ip = proxy.xpath('./td[2]/text()')[0]
port = proxy.xpath('./td[3]/text()')[0]
protocol = proxy.xpath('./td[6]/text()')[0]
extracted_proxies.append(f"{protocol}://{ip}:{port}")
return extracted_proxies
# 储存代理IP到文件
def save_proxies_to_file(proxies, file_path):
with open(file_path, 'w') as file:
for proxy in proxies:
file.write(proxy + '\n')
# 执行函数
content = get_page_content(proxy_url)
proxies = parse_and_extract_proxies(content)
save_proxies_to_file(proxies, 'proxies.txt')
这段代码首先定义了一个代理IP网站的URL,然后编写了get_page_content
函数来发送HTTP请求并获取页面内容。接着,parse_and_extract_proxies
函数用于解析页面并提取代理IP信息。最后,save_proxies_to_file
函数将这些代理IP信息保存到一个文本文件中。
请注意,这个例子使用了lxml
库来解析HTML,因此在运行代码之前,你需要安装这个库:
pip install lxml
此外,由于爬取的网站可能会更新其页面结构或者有反爬虫策略,因此代码可能需要根据实际情况进行适当的修改。
评论已关闭