3.翻页的处理
应用脚本借助搜刮引擎汇集网站阁下名信息。
收集器制造开端:
膳绫擎获得的阁下名,仅仅只是返回结不雅的第一页内容,若何获取所有页面的结不雅?
天啊,100页我要写100个url吗?当然不是,轮回语句解决你的困扰。
- key=qq.com
- #为url添加页码:
- url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=0"
- url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=10"
- url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=20"
- #pn=0为第一页,pn=10为第2页,pn=20为第3页…
- foriinrange(100):#假设有100页
- i=i*10
- url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=%s"%i
4.反复项太多?想去重?
基本常识:
python的数据类型:set
set持有一系列的元素,然则set的元素没有反复项,且是无序的。
创建set的方法是调用set()并传入一个list,list的元素将作为set的元素。
sites=list(set(sites))#用set实现去重
正则表达式匹配获得的是一个列表list,我们调用set()办法即可实现去重。
5.完全代码&&总结
- #-*-coding:utf-8-*-
- importrequests
- importre
- key="qq.com"
- sites=[]
- match='style="text-decoration:none;">(.*?)/'
- foriinrange(48):
- i=i*10
- url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=%s"%i
- response=requests.get(url).content
- subdomains=re.findall(match,response)
- sites+=list(subdomains)
- site=list(set(sites))#set()实现去重
- printsite
- print"Thenumberofsitesis%d"%len(site)
- foriinsite:
- printi
结不雅截图:
0X02 总结
扑晡灿域名发掘就是一个小小的爬虫,只不过我们是用百度的引擎来爬取,不过呢,用bing引擎爬去的数据量会比百度更多,所以建议大年夜家应用bing的引擎,代码的编写办法和百度的大年夜同小异就不放代码了,给个小tip,bing搜刮域名用的是domain:qq.com这个的语法哦。
【义务编辑:庞桂玉 TEL:(010)68476606】推荐阅读
华硕发布Maximus X Formula玩家国度主板:发烧水冷专用
CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了 【编辑推荐】盛典一向转,连庆八天给你好看!华硕十一促销在路上!5分钟告诉你 到底该怎么遴选主板华硕也出妖板:双路Xeon竟能>>>详细阅读
地址:http://www.17bianji.com/lsqh/39468.html
1/2 1