# request
# 动态页面加载 Selenium
# request
# 响应类型为 json
# import json # json.loads(str) # 将str转化为dict
# json.dumps(dict) # 将dict转化为 str
#获取ip地址开始
import requests
from fake_useragent import UserAgent #代理
from lxml.etree import HTML #获取html
import time,pickle #包
#常见的几种用法
res = requests.get(url)
print(res.text)
print(res.content)
print(res.url)
print(res.encoding)
print(res.status_code) url = "https://www.kuaidaili.com/free/inha/%s/"
#获取代理开始(让网站不认为你在爬取数据)
ua = UserAgent()
headers={
"User-Agent":ua.random
}
#获取代理结束
def getIP(url):
res = requests.get(url,headers=headers)#获取某个网页,省的解码
doc = HTML(res.text) #解析html
ips = doc.xpath("//td[@data-title='IP']/text()") #获取数据
ports = doc.xpath("//td[@data-title='PORT']/text()")
arr = [ ip+":"+port for ip,port in zip(ips,ports)] #以数组的形式返回
return arr
IPS = [] #定义空数组放置ip
for i in range(1,10): #十页 遍历
time.sleep(1) #间隔时间
arr = getIP(url%i) #调用函数内容
print(arr) #提示信息可以实时看到爬取信息
IPS+=arr #一页数组 ,而不是都加在一个数组中 with open("快代理.txt",'wb') as f: #写入文件 wb二进制写入
pickle.dump(IPS,f)
#测试ip
with open("快代理.txt", 'rb') as f:
arr = pickle.load(f) #加载文件
IPs = [] # 可用代理ip
def test(ip):
#测试可能出现情况
proxie = {
'http':'http://%s' % ip,
'https': 'https://%s' % ip,
}
#异常提醒
try:
res = requests.get('https://www.baidu.com', proxies=proxie, timeout=10)
print("Ok%s可用" % ip)
IPs.append(ip) #将可用的ip放到数组IPs中
except Exception:#否则
print("error %s不可用" % ip)
for ip in arr:
test(ip)
print("共有%s可用" % len(IPs))
with open("ip.txt", "wb") as f: #二进制写入
pickle.dump(IPs, f)

获取ip地址&&测试ip地址的更多相关文章

  1. 爬取快代理的免费IP并测试

    各大免费IP的网站的反爬手段往往是封掉在一定时间内访问过于频繁的IP,因此在爬取的时候需要设定一定的时间间隔,不过说实话,免费代理很多时候基本都不能用,可能一千个下来只有十几个可以用,而且几分钟之后估 ...

  2. 用fiddler测试ip轮询

    测试业务: 服务端根据域名配置了三台服务器ip,测试ip轮询的逻辑 测试方法: 使用fiddler配置hosts即可 1.1.1.1 第一台ip 1.1.1.1 第二台ip 1.1.1.1 第三台ip ...

  3. android获取Mac地址和IP地址

    获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信 ...

  4. 【Go】获取用户真实的ip地址

    原文链接:https://blog.thinkeridea.com/201903/go/get_client_ip.html 用户请求到达提供服务的服务器中间有很多的环节,导致服务获取用户真实的 ip ...

  5. C#获取路由器外网IP,MAC地址

    C#实现的获取路由器MAC地址,路由器外网地址.对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码.至于获取路由器的外网IP地址,可以不需要知道路由器web管理系统的用户名和密 ...

  6. 获取本机的IP地址和mac地址

    1. 以前一直用ipconfig来查看ip地址,哈哈哈,现在发现挺好玩 #获取本机的IP地址和mac地址 import uuid import socket def get_mac_address() ...

  7. 【Win 10 应用开发】获取本机的IP地址

    按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...

  8. 获取IP地址 & 伪装IP地址发送请求

    //获取请求客户端IP地址   public final static String getIpAddress(HttpServletRequest request) throws IOExcepti ...

  9. Java里面获取当前服务器的IP地址

    public static void main(String[] args) { try { InetAddress address = InetAddress.getLocalHost();//获取 ...

随机推荐

  1. [转贴] 软件测试职业发展的 A 面和 B 面

    [转贴] 软件测试职业发展的 A 面和 B 面 1.所谓的软件测试技术到底包含什么? 梅子:我先来从传统意义上来谈一下测试技术,主要就是测试分析,测试设计,测试管理,测试执行,自动化测试技术,专项测试 ...

  2. mongodb 使用mongodump备份 指定用户名密码 出现错误 Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed

    mongodb 使用mongodump备份 指定用户名密码 出现错误 [root@MongoDB ~]# mongodump --host -u admin -p -d db1 -o /root/ F ...

  3. python框架之Django(6)-查询优化之select_related&prefetch_related

    准备 定义如下模型 from django.db import models # 省份 class Province(models.Model): name = models.CharField(ma ...

  4. 在ABP中使用linq

    private IQueryable<MembershipEntity> SelectOrScrrenMember(GetMemberInput input) { string[] use ...

  5. 去掉Tomcat的管理页面

    一.去掉Tomcat的管理页面 一.方法一:如果要去掉默认该界面,可以重命名tomcat目录下的ROOT,并新建空文件夹命名为ROOT 1.刚打开tomcat,默认访问的是tomcat管理页面,比如X ...

  6. django-ajax post与get请求

    客户端    访问  服务器  方式:      地址栏          get      a标签           get      form表单     get/post      ajax ...

  7. c# Resolve SQlite Concurrency Exception Problem (Using Read-Write Lock)

    This article describes the c# example to solve the problem of SQlite concurrent exception method. To ...

  8. python2精确除法

    python2和python3除法的最大区别: python2: print 500/1000 python2结果:取整数部分,小数并没有保留 0 Process finished with exit ...

  9. Sql 按照指定天数时间段查询

    BEGIN TRY DECLARE @BeginTime DATETIME='2017-02-01' DECLARE @EndTime DATETIME='2017-03-3 23:59:59' -- ...

  10. NOIP2017感想

    说实话,这次刚刚看到题目的时候真的有点懵.尤其是第一天的第一题,浪费了太多的时间,一开始天真的以为10的9次方,会爆long long.然后就特别傻的写一个高精度,总觉得自己有哪些细节方面处理的不到位 ...