import datetime
a=datetime.datetime.now()
print(a)
import random
import requests
import time
from lxml import etree
import os
from pathlib import Path
def del_file(num):#删除文件
root='K:/zhusc/{}.txt'.format(str(num))
my_file = Path(root)
if my_file.exists():
os.remove(my_file)
del_file('test')
def inputme(s,r):#输入内容
f=open(r,'a+')
f.writelines(s)
f.write('\n')
def extract_data(num):#提取数据
url="https://www.kuaidaili.com/free/inha/{}/".format(str(num))
res = requests.get(url)
time.sleep(random.uniform(1,2)) #不停顿则报错,说超出列表范围之类
r=res.text
selector = etree.HTML(r)
for i in range(1,16):
x1='//*[@id="list"]/table/tbody/tr[{}]/td[1]/text()'.format(str(i)) #ip
x2='//*[@id="list"]/table/tbody/tr[{}]/td[2]/text()'.format(str(i)) #port
a=str(selector.xpath(x1)[0]) #ip
b=str(selector.xpath(x2)[0]) #port
c=a+":"+b #ip:port
inputme(c,'K:/zhusc/test.txt')
print(num) #监测提取到第num页
for j in range(1,20):#提取前19页的ip:port
extract_data(j)
b=datetime.datetime.now()
print(b)
print(b-a)
如何获取免费IP
最新推荐文章于 2024-11-08 13:43:44 发布
该博客展示了如何使用Python进行网页数据抓取,通过`requests`和`lxml`库提取网页上的IP和端口信息,并将其写入文件。同时,定义了删除文件的函数,确保每个抓取过程的独立性。整个过程涉及到了HTTP请求、HTML解析、文件操作等技术。
摘要由CSDN通过智能技术生成