Python爬取顶级域名(根域名)数据

主框架
contents


场景描述
  • 数据分析/挖掘过程中,某些场景利用 根域名数据 进行数据筛选 。
  • 在利用 Python 处理本地文件。

顶级域名数据获取方式
import pandas as pd
import urllib2
from bs4 import BeautifulSoup

url='https://www.iana.org/domains/root/db'  # IANA 官网
contents=urllib2.urlopen(url).read()  # 1. 获取在线文件流

soup=BeautifulSoup(contents, 'lxml')  # 2. BeautifulSoup

results=[]
for item in soup.find_all(name='span',attrs={'class':'domain tld'}):  # 3. 解析并存储域名数据
    results.append(item.get_text())


df=pd.DataFrame(results, columns=['rzone'])  # 4. 利用 pandas 模块存储至硬盘
df.to_csv('./iana_root_zone.csv', encoding='utf8')
  • 方式 2 ( 推荐 )
import pandas as pd
import requests
from bs4 import BeautifulSoup

results=[]
url='https://www.iana.org/domains/root/db'  # IANA 官网
contents=requests.get(url)  # 1. 获取在线文件流

if contents.status_code == 200:
    soup=BeautifulSoup(contents, 'lxml')  # 2. BeautifulSoup
    for item in soup.find_all(name='span',attrs={'class':'domain tld'}):  # 3. 解析并存储域名数据
        results.append(item.get_text())


df=pd.DataFrame(results, columns=['rzone'])  # 4. 利用 pandas 模块存储至硬盘
df.to_csv('./iana_root_zone.csv', encoding='utf8')
  • 方式 3
    • 本人在通过程序下载目的文件流时,耗时较多。(应该是网速的问题)
    • 所以,手动下载,利用Python对本地文件进行了解析。
    • 根据自己的喜好选择数据获取方式。
# 关键代码
results=[]
contents=open('./IANA_Root_Zone_Database.html').read()  # 1. 获取在线文件流

soup=BeautifulSoup(contents, 'lxml')  # 2. BeautifulSoup
for item in soup.find_all(name='span',attrs={'class':'domain tld'}):  # 3. 解析并存储域名数据
    results.append(item.get_text())

外部链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xsimah

创作不易,感谢客官的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值