使用python爬取免费IP并验证

前言

人生苦短,我用python

实现

爬取目标地址:

https://www.kuaidaili.com/free/inha/1

全部代码

import requests
import re

#目标地址
url = "https://www.kuaidaili.com/free/inha/1"
#头信息User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
headers = {
     "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36"
}
#get请求到的数据
response = requests.get(url,headers=headers)
#获取源代码
html = response.text
#re.S换行的干扰
#正则匹配到源代码中的IP和端口
ips = re.findall("<td data-title=.IP.>(\d+\.\d+\.\d+\.\d+)</td>",html,re.S)
ports = re.findall("<td data-title=.PORT.>(\d+)</td>",html,re.S)
#循环交给IP
for ip in zip(ips,ports):
    proxies = {
        "http":"http://" + ip[0] + ":" + ip[1],
        "https":"http://" + ip[0] + ":" + ip[1],
    }
    #异常处理
    try:    
        res = requests.get("https://www.baidu.com/",proxies=proxies,timeout=2)
        print(ip,"能使用")
        #在当前目录生成一个txt
        with open("ip.txt",mode="a+") as f:
        	#用:分开ip中值
            f.write(":" . join(ip))
            f.write("\n")
    #当访问百度错误
    except Exception as e:
        print(ip,"不能使用")
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值