Python 爬虫练习爬取补天公益SRC厂商域名URL (2017年11月22日)
Posted ihoneysec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 爬虫练习爬取补天公益SRC厂商域名URL (2017年11月22日)相关的知识,希望对你有一定的参考价值。
介绍下:
补天是国内知名的漏洞响应平台,旨在企业和白帽子共赢。
白帽子在这里提交厂商漏洞,获得库币和荣誉,厂商从这里发布众测、获取漏洞报告和修复建议。
在2017年3月份之前,补天的厂商域名URL是非常好爬取的,即使没有登陆到平台依然可以用轻松获取到批量的厂商URL地址,然后白帽子用大型漏洞扫描工具进行批量漏扫。
后来,补天平台可能为了尽可能的保护厂商的URL被滥用,采取了一些措施。
这些措施限定了:
1). 必须登陆到平台
2). 点击厂商名并进入提交漏洞页面
3). 只在提交页面显示厂商URL域名
下面,就以一段Python 代码来获取最新的补天厂商URL,之后如何利用就随读者个人意愿了。
介绍:
1. 先登陆补天平台,复制Cookie到代码中的位置
2. 这里只演示爬取前三页,每页30个厂商
3. 使用正则提取URL
4. 爬取结果保存在脚本同级目录的 \'butian_company_url.txt\' 文件,如果不够90个URL,可能是有的厂商没有填写(即空)
import requests,re,json,time head = {\'User-Agent\': \\ \'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36\'} cook = {"Cookie": "这里写你登陆补天后的Cookie"} url = \'http://butian.360.cn/Reward/pub\' for page in range(1,3): #前三页 data = {\'s\': \'1\', \'p\': page, \'token\': \'\'} html = requests.post(url, headers = head, data=data, cookies = cook).content jsCont = json.loads(html.decode()) jsData = jsCont[\'data\'] for i in jsData[\'list\']: linkaddr = \'http://butian.360.cn/Loo/submit?cid=\' + i[\'company_id\'] print(linkaddr,end=\'\\t\') shtml = requests.get(linkaddr,headers = head, cookies = cook).content #正则模版<input class="input-xlarge" type="text" name="host" placeholder="请输入厂商域名" value="www.grgtest.com" /> company_url = re.findall(\'<input class="input-xlarge" type="text" name="host" placeholder="请输入厂商域名" value="(.*)" />\',shtml.decode()) time.sleep(0.5) # 控制爬取速度 print(company_url[0]) com_url = company_url[0] with open(\'butian_company_url.txt\',\'a+\') as f: f.write(com_url + \'\\n\')
运行结果:
以上是关于Python 爬虫练习爬取补天公益SRC厂商域名URL (2017年11月22日)的主要内容,如果未能解决你的问题,请参考以下文章