对代理IP进行检测是否可用
第一种方法是使用telnetlib
import telnetlib
import requests
from lxml import etree #解析此url页面的IP
url = 'http://ip.geiwoxiao.com/'
headers = {
'User-Agent':'User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;'
} #使用requests请求指定页面,返回html页面
html = requests.get(url=url,headers=headers).text #使用xpath解析数据,拿到IP及端口
tree = etree.HTML(html)
ip_text = tree.xpath('/html/body/div[5]/p[2]/text()')[0]
ip_list = ip_text.split('\r\n') #循环ip_list,取出每个IP做检测是否可用
for i in ip_list:
ip,port = i.split(':')
print(ip,port)
try:
telnetlib.Telnet(ip,port,timeout=5)
print('可用')
except Exception as e:
print(e,'不可用')
第二种方法
from lxml import etree
import requests #解析此url页面的IP
url = 'http://ip.geiwoxiao.com/'
#使用requests请求指定页面,返回html页面
html = requests.get(url=url).text
headers = {
'User-Agent':'User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;'
}
#使用xpath解析数据,拿到IP及端口
tree = etree.HTML(html)
ip_text = tree.xpath('/html/body/div[5]/p[2]/text()')[0]
ip_list = ip_text.split('\r\n')
use_ip = []
#循环ip_list,取出每个IP做检测是否可用
for ip in ip_list:
try:
res = requests.get(url='http://icanhazip.com/',proxies={'http':ip},timeout=5).text
print(res.strip())
if res.strip() in ip:
print(ip,'可用')
#将可用IP添加到列表中
use_ip.append(ip)
else:
print(ip,'不可用')
except Exception as e:
print(ip,'超时')
#查看可用的use_ip
print(use_ip)
第三种是访问百度
from lxml import etree
import requests #解析此url页面的IP
url = 'http://ip.geiwoxiao.com/'
#使用requests请求指定页面,返回html页面
html = requests.get(url=url).text
headers = {
'User-Agent':'User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;'
}
#使用xpath解析数据,拿到IP及端口
tree = etree.HTML(html)
ip_text = tree.xpath('/html/body/div[5]/p[2]/text()')[0]
ip_list = ip_text.split('\r\n')
use_ip = []
#循环ip_list,取出每个IP做检测是否可用
for ip in ip_list:
try:
res = requests.get(url='https://www.baidu.com/',headers=headers,proxies={'https':ip},timeout=5).text
print(len(res))#判断URL返回的数据长度是否大于5000
except Exception as e:
print(ip,e)
对代理IP进行检测是否可用的更多相关文章
- python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)
python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_usera ...
- java代理ip有效检测
java实现代理ip有效检测,依赖Apache的HttpClient 正式版: /** * 批量代理IP有效检测 * * @param pro ...
- python获取代理IP并测试是否可用
# coding: utf-8 import urllib2 import re import time def getDL(page): url = 'http://www.xicidaili.co ...
- java 检测代理IP是否准确
我这里提供2个方法都可以实现:第一个是createIPAddress()和convertStreamToString() import java.io.IOException; import java ...
- 可能是一份没什么用的爬虫代理IP指南
写在前面 做爬虫的小伙伴一般都绕不过代理IP这个问题. PS:如果还没遇到被封IP的场景,要不就是你量太小人家懒得理你,要不就是人家压根不在乎... 爬虫用户自己是没有能力维护一系列的代理服务器和代理 ...
- python代理池的构建5——对mongodb数据库里面代理ip检查
上一篇博客地址:python代理池的构建4--mongdb数据库的增删改查 一.对数据库里面代理ip检查(proxy_test.py) #-*-coding:utf-8-*- ''' 目的:检查代理I ...
- Java 验证代理ip
原文地址:http://www.cnblogs.com/junrong624/p/5416503.html 1 import java.io.IOException; import java.io.I ...
- Python学习笔记六(免费获取代理IP)
为获取网上免费代理IP,闲的无聊,整合了一下,免费从三个代理网站获取免费代理IP,目的是在某一代理网站被限制时,仍可从可以访问的其他网站上获取代理IP.亲测可用哦!^_^ 仅供大家参考,以下脚本可添 ...
- 利用Python爬取可用的代理IP
前言 就以最近发现的一个免费代理IP网站为例:http://www.xicidaili.com/nn/.在使用的时候发现很多IP都用不了. 所以用Python写了个脚本,该脚本可以把能用的代理IP检测 ...
随机推荐
- 教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里(会发现什么不可告人的密码)
一.需求 我要把C盘下面的所有图片都拿出来,放到一个新文件夹中.今天小编一身正气,看看有没有什么意外发现!!学会看看自己的盘,悄悄的哦!!! 二.代码展示(运行时间可能有点长) import java ...
- spring boot 2.0.0 + shiro + redis实现前后端分离的项目
简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大 ...
- Java全栈方向学习路线
前端方向 前端基础 HTML --> https://www.w3school.com.cn/html/index.asp CSS --> https://www.w3school.com ...
- 使用栅格系统开发响应式页面——logo+nav实例
小屏时: 中屏及以上时: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- 高德地图——searchNearBy()
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script ty ...
- dotnet OpenXML 读取 PPT 内嵌 ole 格式 Excel 表格的信息
在 Office 中,可以在 PPT 里面插入表格,插入表格有好多不同的方法,对应 OpenXML 文档存储的更多不同的方式.本文来介绍如何读取 PPT 内嵌 ole 格式的 xls+ 表格的方法 在 ...
- OpenCV配置及使用(Eclipse)
1.首先下载OpenCV,下载的时候,选择windows版的.然后安装,直接点击exe文件即可,安装过程实际就是一个解压的过程.2.注意解压之后的目录,opencv\build\java下的jar文件 ...
- Spring系列之Mybatis动态代理实现全过程?回答正确率不到1%
面试中,可能会问到Spring怎么绑定Mapper接口和SQL语句的.一般的答案是Spring会为Mapper生成一个代理类,调用的时候实际调用的是代理类的实现.但是如果被追问代理类实现的细节,很多同 ...
- 20210826 Lighthouse,Miner,Lyk Love painting,Revive
考场 T1 这不裸的容斥 T2 这不裸的欧拉路,先从奇数度点开始走,走不了就传送 T3 什么玩意,暴力都不会 T4 点分树??? 仔细想了一波,发现 T1 T2 都好做,T3 二分答案后可以暴力贪心, ...
- JUnit5快速入门指南-2
重复测试中容易产生的问题 //结果类 private static int result = 0; public static int count(int x) throws InterruptedE ...