2 回答
TA贡献1833条经验 获得超4个赞
import requests
from bs4 import BeautifulSoup as bs
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"}
url = "https://www.proxyscan.io/"
r=requests.get(url,headers=headers)
soup = bs(r.content,"html.parser")
a = soup.findAll(scope="row")
a = str(a).replace("<th scope=\"row\">", "").replace("</th>", "").replace("[","").replace("]","").replace(" ","")
a = a.split(",")
for proxy in a:
print(proxy)
TA贡献1802条经验 获得超10个赞
您可以使用find_next_siblings()函数来获取下一个可用标签。
因此,通过敏锐地观察解析后的html,我们可以看到端口是代理之后的下一个标签。因此我们可以循环变量a并找到下一个相邻的标签。
从 所返回的数组中获取第一个元素find_next_siblings()。
大概是这样的<td>4145</td>。从中清理 html 标签或从中提取字符串td,您应该获得端口号。
for i in a:
full = i.find_next_siblings()[0]
port = str(full).replace("<td>","")
port = str(port).replace("</td>", "")
print(port)
添加回答
举报