获取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();//获取 ...
随机推荐
- vue 之 筛选功能实现
要实现的效果如下:根据输入框里面输入的内容筛选下面列表: 推荐实现代码如下:其中 allProductData 就是用来下拉列表的数据,allProductList 为从获取的所有列表的数据:
- MySQL Backup mysqldump备份流程学习
我们都知道MySQL逻辑备份工具mysqldump可以保证备份数据的一致性,但是它是怎么保持一致性的? 本文不讨论mysqldump具体的选项和用法,一直对mysqldump的工作机制梳理的不太清楚, ...
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 ...
- 当业务逻辑没错,直接mapper里面出错时
仔细检查,发现sql语句写的也没问题,但就是出错 slide_show_img_url = #{slideShowImgUrl,jdbcType=VARCHAR}, where goods_slide ...
- sessionid固定与session混淆的一些随想
以前一直觉得sessionid固定和session混淆就是两个一样的东西,后来发现两者还是要分开来的,主要因为利用场景的不同!!! sessionid固定和session混淆还是需要区分开来的一般情况 ...
- Go 初体验 - channel.1 - 基本用法
channel 分为两种: 1. 无缓冲 channel 2. 缓冲 channel 无缓冲 channel 的使用必须遵循一个原则:推送和读取必须同时存在,否则就发生死锁 先上代码: 这里定义了一个 ...
- 数据模型model设置、生成数据迁移文件、执行数据迁移文件
一.model的配置 1.创建数据库 2.安装pymysql 3.修改配置文件 数据库连接配置 DATABASES = {'default': {'ENGINE': 'django.db.backen ...
- CSS 步骤进度条
;;; } .wizard li {;; text-align: center; line-height: 30px; height: 30px; background-color: #C3C3C3; ...
- 21 python的魔法方法(转)
魔法方法 含义 基本的魔法方法 __new__(cls[, ...]) 1. __new__ 是在一个对象实例化的时候所调用的第一个方法2. 它的第一个参数是这个类,其他的参数是用来直接传递给 _ ...
- 基于CSS属性display:table的表格布局的使用
项目改造中遇到DIV+CSS实现的table,新需求需要在表格使用单元格合并,网上调查返现CSS display:table实现的table表格,没有单元格的属性和样式,经过一番思考,曲折现实了单元格 ...