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日)的更多相关文章
- Python 爬虫入门(二)——爬取妹子图
Python 爬虫入门 听说你写代码没动力?本文就给你动力,爬取妹子图.如果这也没动力那就没救了. GitHub 地址: https://github.com/injetlee/Python/blob ...
- Python爬虫学习(二) ——————爬取前程无忧招聘信息并写入excel
作为一名Pythoner,相信大家对Python的就业前景或多或少会有一些关注.索性我们就写一个爬虫去获取一些我们需要的信息,今天我们要爬取的是前程无忧!说干就干!进入到前程无忧的官网,输入关键字&q ...
- 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...
- Python爬虫实例:爬取豆瓣Top250
入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...
- Python 爬虫入门之爬取妹子图
Python 爬虫入门之爬取妹子图 来源:李英杰 链接: https://segmentfault.com/a/1190000015798452 听说你写代码没动力?本文就给你动力,爬取妹子图.如果 ...
- Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取
很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...
- Python爬虫实例:爬取猫眼电影——破解字体反爬
字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...
- python爬虫-基础入门-爬取整个网站《3》
python爬虫-基础入门-爬取整个网站<3> 描述: 前两章粗略的讲述了python2.python3爬取整个网站,这章节简单的记录一下python2.python3的区别 python ...
- python爬虫-基础入门-爬取整个网站《2》
python爬虫-基础入门-爬取整个网站<2> 描述: 开场白已在<python爬虫-基础入门-爬取整个网站<1>>中描述过了,这里不在描述,只附上 python3 ...
随机推荐
- 使用Kotlin开发第一个Android应用
直奔主题 第一步:为AndroidStudio安装Kotlin插件 在线安装步骤:File—>Settings—>Plugins—>Install JetBrains plugin… ...
- 恶意软件Mirai换了个马甲 瞄上我国2亿多台IoT设备
恶意软件Mirai换了个马甲 瞄上我国2亿多台IoT设备 想要起来时,一种沉重感阻碍着他,这是一种安全感:感觉到一张床为他铺好了,而且只属于他:想要静卧时,一种不安阻碍着他,把他从床上赶起来,这是 ...
- UVa11054
一开始WA了一次,这才反应过来应该用longlong而不是int,但是scanf和printf不知道哪出毛病了,运行不出来正确的结果,改成cin cout过了 从左向右扫描即可,对于第i的村庄到第i+ ...
- 使用脚本监控windows服务的方法
以下脚本可监控某一个windows服务,发现其停止就立即重启之. @echo off rem 定义循环间隔时间和监测的服务: set secs=60 set srvname="NetWin ...
- (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探
一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...
- MongoDB理解
1. 什么是MongoDB (1)MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. (2)MongoDB 是一个 ...
- LeetCode 80. Remove Duplicates from Sorted Array II (从有序序列里移除重复项之二)
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For exampl ...
- python中openpyxl的用法【安装,以及一些基本的操作】
概述 Openpyxl是python中简单易用的操作excel电子表格的一个模块.接下来呢,跟博主一起学习一下吧 ----_<_>_---- 首先先清楚一些excel的基本概念: 在op ...
- 我只是想获取access_token而已
起因是想在微信小程序中获取access_token. 之前资源只有一个阿里云虚拟主机和一个域名,于是用C#后端写了GET请求的接口,准备调用自己域名下的接口获取access_token 使用微信的wx ...
- Java 中冷门的 synthetic 关键字原理解读
看JAVA的反射时,看到有个synthetic ,还有一个方法isSynthetic() 很好奇,就了解了一下: 1.定义 Any constructs introduced by a Java co ...