对代理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检测 ...
随机推荐
- 轻量级状态管理库Pinia试吃
最近连续看了几个GitHub上的开源项目,里面都用到了 Pinia 这个状态管理库,于是研究了一下,发现确实是个好东西!那么,Pinia 的特点: 轻量化 -- Pinia 体积约1KB,十分轻巧 ...
- 题解 P5038 [SCOI2012]奇怪的游戏
题解 题目 做这题之前,做了一道叫星际战争的题,很容易想到二分 \(+\) 网络流,那么二分啥呢? 我们先推一下式子,因为是对相邻格子加数,那么可以联想到黑白染色类问题. 设有黑色格子 \(B\) 个 ...
- Vmware下安装Ubuntu18.04详情
转载地址:https://blog.csdn.net/qq_35623773/article/details/89893853
- Synchronized和ReentranLock的区别
1.底层实现上来说? Synchronized是JVM层面的锁,是Java关键字,通过monitor对象来完成. ReentranLock是API层面的锁底层使用AQS. 2.是否可手动释放锁? sy ...
- 接口和包--Java学习笔记
接口 定义及基础用法 interface定义:没有字段的抽象类 interface person{ void hello(); String getName(); } /*接口本质上就是抽象类 abs ...
- C#设计模式---迭代器模式(Iterator Pattern)
一.目的 提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节. 二.定义 迭代器模式提供了一种方法访问一个聚合对象(理解为集合对象)中各个元素,而又无需暴露该对象的内部表示,这样既可 ...
- 学ant(2)——path
1.path是ant内置的一种datatype,作用是声明路径之类的东西,在官方的manual中也叫做Path-like Structures,一般是这样声明的 <pathelement loc ...
- JavaWeb之JavaMail
时间:2016-12-19 11:58 --邮件协议1.收发邮件 发邮件是从客户端把邮件发送到服务器,收邮件是把邮件服务器的邮件下载到客户端 2.邮件协议概述 与HTTP协议相同, ...
- Android Parsing between JSON and Kotlin Object with Google Gson Library
Parsing between JSON and Kotlin Object with Google Gson Library dependencies { ... implementation 'c ...
- Mybatis(四)——
test https://www.cnblogs.com/chiaki/p/14529418.html