对代理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检测 ...
随机推荐
- VirtualBox-虚拟硬盘扩容-win7
问题: 我在VirtualBox下搭建的win7系统只设置了一个C盘,当初只给硬盘分配32G,如今深受生活的毒打,发现只剩5G可用,装个PS都费劲. 我要扩容,扩容! 当前环境: VirtualBox ...
- pytorch之对预训练的bert进行剪枝
大体过程 对层数进行剪枝 1.加载预训练的模型: 2.提取所需要层的权重,并对其进行重命名.比如我们想要第0层和第11层的权重,那么需要将第11层的权重保留下来并且重命名为第1层的名字: 3.更改模型 ...
- js函数聚合
//掺杂类实现聚合(有的时候,我们需要某个或多个类里的一些方法函数) //将要被聚合的函数 var JSON = { toJsonString: function () { var output = ...
- SpringCloud升级之路2020.0.x版-23.订制Spring Cloud LoadBalancer
本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 我们使用 Spri ...
- C#多线程详解(二)
在上一节介绍了线程的基础知识,下面来研究多线程的优先级 using System; using System.Threading;namespace Test{ class TestThread ...
- JMeter结果树响应数据中文乱码
打开apache-jmeter-2.11\bin\jmeter.properties文件,搜索"encoding"关键字,找到如下配置: # The encoding to be ...
- io中的特殊流Properties
对于去年学习IO的时候一些代码贴上来: 初识properties,因为继承自hashtable,其中可以使用put操作: package special; import java.util.Prope ...
- Python - 面向对象编程 - 什么是 Python 类、类对象、实例对象
什么是对象和类 https://www.cnblogs.com/poloyy/p/15178423.html Python 类 类定义语法 最简单的类定义看起来像这样 class ClassName: ...
- Web安全-信息收集
信息收集 前言:在渗透测试过程中,信息收集是非常重要的一个环节,此环节的信息将影响到后续成功几率,掌握信息的多少将决定发现漏洞的机会的大小,换言之决定着是否能完成目标的测试任务.也就是说:渗透测试的思 ...
- Python - 面向对象编程 - 实例方法、静态方法、类方法
实例方法 在类中定义的方法默认都是实例方法,前面几篇文章已经大量使用到实例方法 实例方法栗子 class PoloBlog: def __init__(self, name, age): print( ...