对代理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)

原文地址:https://www.cnblogs.com/blackball9/p/11979516.html

时间: 2024-10-21 00:27:57

对代理IP进行检测是否可用的相关文章

代理ip最新识别方法及代理ip有效性检测方法

网络营销时代,网络成为企业营销的重要工具.线上有非常多的营销渠道可以利用.当然方法也就越来越多:自媒体.抖音.电商.微商等等,尤其当走进大数据时代,爬虫可以帮助企业在线上采集到相当精准的用户信息,成为企业制定营销策略的关键.当然,技术流的推广人员都知道,爬虫运行少不了代理ip的辅助. 代理ip最新识别方法以及代理ip有效性检测方法 一.代理ip常见的一些功能 1.突破自身ip访问限制,现在有许多的网站都对ip地址访问进行了限制,这时则可以通过代理ip来突破限制,让自己进入网站. 2.提高访问速度

java代理ip有效检测

java实现代理ip有效检测,依赖Apache的HttpClient 正式版:       /** * 批量代理IP有效检测 * * @param proxyIpMap * @param reqUrl */ public static void checkProxyIp(Map<String, Integer> proxyIpMap, String reqUrl) { for (String proxyHost : proxyIpMap.keySet()) { Integer proxyPor

python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_useragent库,伪装请求头 from fake_useragent import UserAgent ua = UserAgent() # ie浏览器的user agent print(ua.ie) # opera浏览器 print(ua.opera) # chrome浏览器 print(ua.chro

java 检测代理IP是否准确

我这里提供2个方法都可以实现:第一个是createIPAddress()和convertStreamToString() import java.io.IOException; import java.io.InputStream; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.net.URLConnection; import java.nio.charset

Python_01_IP代理池_实现代理池的检测模块

目的:检测代理ip的可用性,保证代理池中代理ip基本可用 思路: 1.在proxy_test.py中,创建ProxyTester类 2.提供一个run方法,用于处理检测代理ip的核心逻辑 1)从数据库中获取所有代理ip 2)遍历代理ip列表 3)检查代理ip可用性 如果不可用,代理分数-1,如果代理分数=0则删除该代理,否则更新代理ip 如果可用,恢复代理ip的分数,更新到数据库中 3.为了提高检查的速度,使用异步来执行检测任务 1)把要检测的代理ip放到队列中 2)把检查一个代理可用性的代码抽

python检测代理IP可否翻越GFW

那堵墙着实可恨!身处IT这个圈子,经常需要用gg查资料(你也可以用来访问1024,^_^...).当然,你也可以用百度.其实也不是我不爱用百度,是有缘由的,且听我细细道来.有一次闲得蛋疼,想看看会不会有人抄袭我的博客(尽管博客学得不咋地),于是百度了一下,结果是惊人的.我发现我自己写的博客,即使是拿整个标题去搜索,往往搜不到,搜到的是一堆爬虫爬去的结果.具体是哪些,这里就不说了,各自可以拿自己的博客试一下.以前总是手工收集几个IP用一段时间,失效了以后再重新收集几个,如此反复,烦!于是,想着写个

【Python脚本】-Python查找可用代理IP

在用Python爬虫时,我们有时会用到IP代理.无意中发现一个免费代理IP的网站:http://www.xicidaili.com/nn/.但是,发现很多IP都用不了.故用Python写了个脚本,该脚本可以把能用的代理IP检测出来.脚本如下: #encoding=utf8 import urllib2 from bs4 import BeautifulSoup import urllib import socket User_Agent = 'Mozilla/5.0 (Windows NT 6.

利用Python爬取可用的代理IP

前言 就以最近发现的一个免费代理IP网站为例:http://www.xicidaili.com/nn/.在使用的时候发现很多IP都用不了. 所以用Python写了个脚本,该脚本可以把能用的代理IP检测出来. 1 #encoding=utf8 2 import urllib2 3 from bs4 import BeautifulSoup 4 import urllib 5 import socket 6 7 User_Agent = 'Mozilla/5.0 (Windows NT 6.3; W

Python 爬虫抓取代理IP,并检测联通性

帮朋友抓了一些代理IP,并根据测试联的通性,放在了不通的文件夹下.特将源码分享 注意: 1,环境Python3.5 2,安装BeautifulSoup4  requests 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 5