获取全球dns统计信息
# -*- coding:UTF-8 -*-
import requests, time
import json
from bs4 import BeautifulSoup as bp t3 = time.time()
ths = [] # 存放线程 def get(num):
n = str(num)
page = requests.post('http://www.employees.org/~dwing/aaaa-stats/',
) # 自定义请求头,这些请求头内容是在浏览器上看到的 t = page.text
# print(t)
soup = bp(t, 'lxml') # 使用beautifulsoup解析xml文件,解析html时,将xml改为lxml
all_body = soup.find_all('tr') # 查找EmailResult标签包含的所有内容,生成一个列表
for info in all_body:
if not info:continue
tds = info.find_all('td')
one_row = []
for i in tds:
if not i:continue
for infos in i:
if not infos:continue
try:
nums = infos.text #所有的数字
if not nums:continue
nums = nums.strip().strip('\n')
# if len(nums) >= 13:continue
if len(nums) == 12:
total_checked = nums[0:5]
with_a_record = nums[5:]
one_row.append(total_checked)
one_row.append(with_a_record)
else:
one_row.append(nums)
# print(nums,'aaa')
except:
one_row.append(infos)
# print(infos, 'lll') # 百分数 if '\n' in one_row:
one_row.remove('\n')
if 'diffs' in one_row:
one_row.remove('diffs')
if '(large run)' in one_row:
continue
else:
if one_row:
if len(one_row) == 16:
all_data = {}
all_data['date'] = one_row[0]
all_data['total_checked'] = one_row[1]
all_data['with_A_records_count'] = one_row[2]
all_data['with_A_records_rate'] = one_row[3]
all_data['with_AAAA_records_count'] = one_row[4]
all_data['with_AAAA_records_rate'] = one_row[5]
all_data['AAAA_with_IPv4-mapped_count'] = one_row[6]
all_data['AAAA_with_IPv4-mapped_rate'] = one_row[7]
all_data['AAAA_with_loopback_count'] = one_row[8]
all_data['AAAA_with_loopback_rate'] = one_row[9]
all_data['valid_AAAA_records_count'] = one_row[10]
all_data['valid_AAAA_records_rate'] = one_row[11]
all_data['IPv6_connection_ok_count'] = one_row[12]
all_data['IPv6_connection_ok_rate'] = one_row[13]
all_data['IPv6_connection_failed_count'] = one_row[14]
all_data['IPv6_connection_failed_rate'] = one_row[15]
# print(one_row)
ddd = json.dumps(all_data, indent=2,
ensure_ascii=False) # ensure_ascii=False :防止将文字转成unicoe with open('dns_status.txt', 'a+') as f:
f.write(ddd)
# print(i.text,'lll') get(1) t4 = time.time()
tt = t4 - t3
print(tt)
结果见github
获取全球dns统计信息的更多相关文章
- Docker swarm 获取service的container信息
我们可以通过docker service create创建服务,例如: docker service create --name mysql mysql:latest 服务创建好后,如何来获取该ser ...
- Oracle 11g系统自己主动收集统计信息的一些知识
在11g之前,当表的数据量改动超过总数据量的10%,就会晚上自己主动收集统计信息.怎样推断10%.之前的帖子有研究过:oracle自己主动统计信息的收集原理及实验.这个STALE_PERCENT=10 ...
- PLSQL_统计信息系列06_统计信息的历史和日志
20150506 Created By BaoXinjian
- python之微信好友统计信息
需要安装库:wxpy 代码如下: from wxpy import Bot,Tuling,embed,ensure_one bot = Bot(cache_path=True) #获取好友信息 bot ...
- [20190505]关于latch 一些统计信息.txt
[20190505]关于latch 一些统计信息.txt --//我在两篇文章,提到一些latch的统计信息.链接如下:http://blog.itpub.net/267265/viewspace-2 ...
- Oracle重新获取统计信息以及SQLSERVER重建索引
Oracle重新获取统计信息 exec dbms_stats.gather_schema_stats(ownname =>'LCoe739999',options => 'GATHER', ...
- Oracle 和 SQLSERVER 重新获取统计信息的方法
1. Oracle 重新获取统计信息的命令 exec dbms_stats.gather_schema_stats(ownname =>) # 需要修改 ownername options 指定 ...
- 使用ioctl获取网卡统计信息
ethtool -S获取接口统计信息总共分三步: 1.获取统计项个数,使用SIOCETHTOOL+ETHTOOL_GSSET_INFO 2.(可选)获取统计项名字,使用SIOCETHTOOL+ETHT ...
- 通过API获取统计信息时报Access denied错误处理记录
通过API获取HDFS统计信息时报Access denied错误信息,错误信息如下: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.s ...
随机推荐
- Mybatis-generator逆向工程
$.Mybatis-generator介绍 MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将为所有版本的MyBatis以及版本2.2.0之 ...
- Delphi XE8中Delphi和JAVA数据类型对应关系!
Delphi XE8中Delphi和JAVA数据类型对应关系所在单元文件:Androidapi.JNI.JavaTypes 对应关系: JObject = interface;//java.lang. ...
- D:大整数的加减乘除
描述 给出两个正整数以及四则运算操作符(+ - * /),求运算结果. 输入第一行:正整数a,长度不超过100第二行:四则运算符o,o是“+”,“-”,“*”,“/”中的某一个第三行:正整数b,长度不 ...
- [SinGuLaRiTy] 树链问题
[SinGuLaRiTy-1035] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 关于树链 树链是什么?这个乍一看似乎很陌生的词汇表达的其 ...
- windows 2003 远程桌面无法使用剪贴板共享纯文本的解决方法(亲测可用)
远程桌面无法使用剪贴板共享纯文本的解决方法========================================以下操作须在远程桌面上操作,本地机没用的!================== ...
- windows server2008虚拟机系统盘扩容
windows server2008虚拟机的系统盘空间过小,对系统盘进行扩容,操作如下: 1.将虚拟机关机: 2.VMware对该虚拟机进行设置,选中磁盘,点击扩容,输入扩容大小,等待扩容完成: 3. ...
- 洛谷P2763 试题库问题(最大流)
传送门 网络流界的一股清流啊……终于没那么变态了…… 考虑一下怎么建图.对于每一个类型,我们从$S$向他连边,容量为它所需的题数,表明它要可以有这么多题,对于每一道题目,我们从它对应的类型向他连边,容 ...
- SHELL编程规范与变量
shell相比标准开发语言比如JAVA,C,C++来说还是比较简单的,其实就是一堆命令的集合而已,初学者从简单的shell脚本学起,至于shell编程还是要有编程思想在里面,因此,循序渐进很重要,先研 ...
- SDUT OJ 数据结构实验之链表一:顺序建立链表
数据结构实验之链表一:顺序建立链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...
- redis读取自增时候指定的key问题
首先,此文章是接了如下文章写的 Spring boot redis自增编号控制 踩坑 上面这个问题解决后,公司这边功能其实已经实现了,但是考虑到一种情况,因为我们这边号的生成就是根据上面的自增编号来的 ...