作家
登录

如何用Python编写信息收集之子域名收集脚本?

作者: 来源: 2017-12-05 11:45:41 阅读 我要评论

open.qq.com','https:','ac.qq.com'] 

3.翻页的处理

应用脚本借助搜刮引擎汇集网站阁下名信息。

收集器制造开端:

膳绫擎获得的阁下名,仅仅只是返回结不雅的第一页内容,若何获取所有页面的结不雅?

天啊,100页我要写100个url吗?当然不是,轮回语句解决你的困扰。

  1. key=qq.com 
  2.  
  3. #为url添加页码: 
  4.  
  5. url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=0" 
  6.  
  7. url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=10" 
  8.  
  9. url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=20" 
  10.  
  11. #pn=0为第一页,pn=10为第2页,pn=20为第3页… 
  1. foriinrange(100):#假设有100页 
  2.  
  3. i=i*10 
  4.  
  5. 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.完全代码&&总结

  1. #-*-coding:utf-8-*- 
  2.  
  3. importrequests 
  4.  
  5. importre 
  6.  
  7. key="qq.com" 
  8.  
  9. sites=[] 
  10.  
  11. match='style="text-decoration:none;">(.*?)/' 
  12.  
  13. foriinrange(48): 
  14.  
  15. i=i*10 
  16.  
  17. url="http://www.baidu.com.cn/s?wd=site:"+key+"&cl=3&pn=%s"%i 
  18.  
  19. response=requests.get(url).content 
  20.  
  21. subdomains=re.findall(match,response) 
  22.  
  23. sites+=list(subdomains) 
  24.  
  25. site=list(set(sites))#set()实现去重 
  26.  
  27. printsite 
  28.  
  29. print"Thenumberofsitesis%d"%len(site) 
  30.  
  31. foriinsite: 
  32.  
  33. printi 

结不雅截图:

0X02 总结

扑晡灿域名发掘就是一个小小的爬虫,只不过我们是用百度的引擎来爬取,不过呢,用bing引擎爬去的数据量会比百度更多,所以建议大年夜家应用bing的引擎,代码的编写办法和百度的大年夜同小异就不放代码了,给个小tip,bing搜刮域名用的是domain:qq.com这个的语法哦。

【义务编辑:庞桂玉 TEL:(010)68476606】

  推荐阅读

  华硕发布Maximus X Formula玩家国度主板:发烧水冷专用

CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了 【编辑推荐】盛典一向转,连庆八天给你好看!华硕十一促销在路上!5分钟告诉你 到底该怎么遴选主板华硕也出妖板:双路Xeon竟能>>>详细阅读


本文标题:如何用Python编写信息收集之子域名收集脚本?

地址:http://www.17bianji.com/lsqh/39468.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)