获取ip地址&&测试ip地址
# 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地址的更多相关文章
- 爬取快代理的免费IP并测试
各大免费IP的网站的反爬手段往往是封掉在一定时间内访问过于频繁的IP,因此在爬取的时候需要设定一定的时间间隔,不过说实话,免费代理很多时候基本都不能用,可能一千个下来只有十几个可以用,而且几分钟之后估 ...
- 用fiddler测试ip轮询
测试业务: 服务端根据域名配置了三台服务器ip,测试ip轮询的逻辑 测试方法: 使用fiddler配置hosts即可 1.1.1.1 第一台ip 1.1.1.1 第二台ip 1.1.1.1 第三台ip ...
- android获取Mac地址和IP地址
获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信 ...
- 【Go】获取用户真实的ip地址
原文链接:https://blog.thinkeridea.com/201903/go/get_client_ip.html 用户请求到达提供服务的服务器中间有很多的环节,导致服务获取用户真实的 ip ...
- C#获取路由器外网IP,MAC地址
C#实现的获取路由器MAC地址,路由器外网地址.对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码.至于获取路由器的外网IP地址,可以不需要知道路由器web管理系统的用户名和密 ...
- 获取本机的IP地址和mac地址
1. 以前一直用ipconfig来查看ip地址,哈哈哈,现在发现挺好玩 #获取本机的IP地址和mac地址 import uuid import socket def get_mac_address() ...
- 【Win 10 应用开发】获取本机的IP地址
按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...
- 获取IP地址 & 伪装IP地址发送请求
//获取请求客户端IP地址 public final static String getIpAddress(HttpServletRequest request) throws IOExcepti ...
- Java里面获取当前服务器的IP地址
public static void main(String[] args) { try { InetAddress address = InetAddress.getLocalHost();//获取 ...
随机推荐
- linux出现tmp空间满的情况解决
cd命令tab补全的时候报错: cd /ro-bash: cannot create temp file for here-document: No space left on device-bash ...
- 在 vue 中使用 vieiwer 图片预览插件
https://blog.csdn.net/WestLonly/article/details/79801800?utm_source=blogxgwz0 首先,感谢原作者 官网链接 github地址 ...
- golang schedule crash
golang 起超过100W的goroutine就会crash,这个算不算是个bug? 2036119xxxxpanic: inconsistent poll.fdMutex goroutine 20 ...
- 8 . IO类-标准IO、文件IO、stringIO
8.1 IO类 #include <iostream> //标准IO头文件 8.2 文件输入输出流 #include <fstream> //读写文件头文件 std::fst ...
- cocos2d-x JS 定时器暂停方法
this.scheduleOnce(function(){ this.addChild(Menugobtn);//要暂停执行的代码 }, 10);
- Oracle 10g收集数据库统计信息
1.需求概述 2.实施步骤 3.回退方案 1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计 ...
- 基于Jenkins实现持续集成【持续更新中】
持续集成 1.什么是持续集成:Continuous integration (CI)持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生 ...
- codeforces 985A Chess Placing
题意: 移动最少的步数,使得所有的棋子在同一颜色的格子中. 每次一个棋子只能向左或者向右移动一步,不能移到有棋子的格子中. 思路: 枚举全黑和全白的情况. 对于每一个需要移动的棋子,它移动到的位置一定 ...
- 杨韬的Markdown自定义CSS样式
效果 样例 杨韬的Python/Jupyter学习笔记 Markdown例子链接页面 代码 /*主标题*/ #cb_post_title_url{ font-size: 31px; } /*h1,h2 ...
- Docker Swarm 服务版本更新与回滚
Docker Swarm 服务版本更新 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理节点:192.168.1.79 工作节点:192.168.1.78 工作 ...