代码拉取完成,页面将自动刷新
import re,requests
# 用于测试IP和端口是否可以用
import telnetlib
# 更换请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'}
# 创造一个类 Agency代理的意思
class Agency:
# Get_html 获取网页源代码,
def Get_html(self,url = "https://www.xicidaili.com/nn/"):
r = requests.get(url,headers=headers)
# r.encoding = r.apparent_encoding 可以自动选取编码方法
r.encoding = r.apparent_encoding
# print(r.text)
try:
if r.status_code == 503 or r.status_code == 404:
print("网站已禁止您的访问或网站维护中,请先更换IP")
except TypeError:
print("IP被封无法返回源代码,请先尝试更换IP")
else:
# 返回源代码
return r.text
# 用正则取 IP 和 端口 并检测
def Detection(self,url):
html = self.Get_html()
Regular = "(\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{2,3})\D*(\d{1,5})"
ip = re.findall(Regular,html)
for ips,port in ip:
print("IP:",ips,"端口:",port)
try:
telnetlib.Telnet(ips, port=port, timeout=1)
except:
print(ips,'连接失败')
else:
print(ips,port,'成功')
# 分页
def Run(self):
users = int(input("检测几页IP和端口?"))
for i in range(1,users+1):
urls = f"https://www.xicidaili.com/nn/{i}"
print(urls)
self.Detection(urls)
i+=1
if __name__ == '__main__':
url = "https://www.xicidaili.com/nn/"
Agency().Run()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。