最近需要一个域名白名单数据,但是没有找到合适的,就自己动手了。
中文网站排名.上有最新数据,所以从这里入手。
分析网页结构,URL在中,可以直接用class定位。分页可以直接从末尾的html文件中找到规律,如第十九页的URL末尾就是index_19.html。
写入文件 f=open(“domain.txt”,“a”)如果不是"a"是"w",前一页的结果就会覆盖后一页。
from bs4 import BeautifulSoup
import requests
import sys
reload(sys)
sys.setdefaultencoding('utf8')
for x in range(1,1921):
url="https://top.chinaz.com/all/index_"+str(x)+".html"
response = requests.get(url)
print x
response.encoding = "utf-8"
# print(response.text)
soup = BeautifulSoup(response.text,'html.parser')
arr = soup.find_all("span",class_="col-gray")
f=open("domain.txt","a")
for i in range(0,len(arr)):
#print arr[i].text
f.write(arr[i].text+'\n')