00X0 前言

补天漏洞响应平台在七月份开始了新的活动,指定范围为公益SRC。无HACK 不兄弟
现在都八月份了,七月不刷洞八月方便面啊。趁着月初,赶紧把公益SRC的域名全部爬下来

01X0 准备活动

01X1 踩点分析

  • 在公益厂商列表中可初步获取厂商的信息,此处发现显示的ID与点击提交漏洞后页面的ID一致。

    此处的ID为59906,将鼠标再次悬浮在提交漏洞的链接上

    两处的ID均相同。点击提交漏洞

    从这里我们可以发现点击提交漏洞需要登录才能获取具体的信息(域名地址)

且经过一些信息收集后,发现厂商页面是由js在线生成的,所以不能直接爬取链接。

01X2 整体思路

先用游客身份爬取公益厂商列表中所有厂商的ID,然后登录补天账户获取对应的Cookies,进而遍历上一步获取的ID值再组合http://butian.360.cn/Loo/submit?cid=id链接获取每个厂商的域名信息

02x0 爬虫编写

02x1 准备环境

Python3.6
模块: requestsBeautifulSoupjson

02X2 关键请求

第一处为未登录厂商的一处请求,返回json数据可以遍历所有页数和厂商ID



其中 p代表当前页数,于是构造请求为
http://butian.360.cn/Reward/pub
post数据: s=1&p=1
另外一处地址为:
http://butian.360.cn/Reward/pub//Message/send
post数据一样

02x3 最终代码

import json
import requests
import time
from bs4 import BeautifulSoupdef spider():'''爬取所有公益厂商的ID保存为id.txt:return:'''headers = {'Host': 'butian.360.cn','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0','Accept': 'application/json, text/javascript, */*; q=0.01','Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Accept-Encoding': 'gzip, deflate','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','X-Requested-With': 'XMLHttpRequest','Referer': 'http://butian.360.cn/Reward/pub//Message/send','Cookie': 未登录时的Cookie,'Connection': 'keep-alive'}for i in range(1,149):data={'p': i,'token': ''}time.sleep(3)res = requests.post('http://butian.360.cn/Reward/pub/Message/send', data=data,headers=headers,timeout=(4,20))allResult = {}allResult = json.loads(res.text)currentPage = str(allResult['data']['current'])currentNum = str(len(allResult['data']['list']))print('正在获取第' + currentPage + '页厂商数据')print('本页共有' + currentNum + '条厂商')for num in range(int(currentNum)):print('厂商名字:'+allResult['data']['list'][int(num)]['company_name']+'\t\t厂商类型:'+allResult\['data']['list'][int(num)]['industry']+'\t\t厂商ID:'+allResult['data']['list'][int(num)]['company_id'])base='http://butian.360.cn/Loo/submit?cid='with open('id.txt','a') as f:f.write(base+allResult['data']['list'][int(num)]['company_id']+'\n')
def Url():'''遍历所有的ID取得对应的域名保存为target.txt:return:'''headers={'Host':'butian.360.cn','User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Accept-Encoding': 'gzip, deflate','Referer':'http://butian.360.cn/Reward/pub','Cookie':此处为账户登录后的Cookie,'Connection':'keep-alive','Upgrade-Insecure-Requests': '1','Cache-Control':'max-age=0'}with open('id.txt','r') as f:for target in f.readlines():target=target.strip()getUrl=requests.get(target,headers=headers,timeout=(4,20))result=getUrl.textinfo=BeautifulSoup(result,'lxml')url=info.find(name='input',attrs={"name":"host"})name = info.find(name='input', attrs={"name": "company_name"})lastUrl=url.attrs['value']print('厂商:' + name.attrs['value'] + '\t网址:' + url.attrs['value'])with open('target.txt','a') as t:t.write(lastUrl+'\n')time.sleep(3)print('The target is right!')
if __name__=='__main__':data = {'s': '1','p': '1','token': ''}res = requests.post('http://butian.360.cn/Reward/pub/Message/send', data=data)allResult = {}allResult = json.loads(res.text)allPages = str(allResult['data']['count'])print('共' + allPages + '页')spider()Url()

03x0 效果图

第一步:

第二步:

python爬虫爬取补天公益SRC厂商相关推荐

  1. 在当当买了python怎么下载源代码-python爬虫爬取当当网

    [实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...

  2. 使用Python爬虫爬取网络美女图片

    代码地址如下: http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip instal ...

  3. 运用Python爬虫爬取一个美女网址,爬取美女图

    运用Python爬虫爬取一个美女网址,爬取美女图 要运用到的python技术: 导入库 1.request 发送请求,从服务器获取数据 2.BeautifulSoup 用来解析整个网页的源代码 imp ...

  4. Python爬虫|爬取喜马拉雅音频

    "GOOD Python爬虫|爬取喜马拉雅音频 喜马拉雅是知名的专业的音频分享平台,用户规模突破4.8亿,汇集了有声小说,有声读物,儿童睡前故事,相声小品等数亿条音频,成为国内发展最快.规模 ...

  5. 简单python爬虫爬取游戏wiki立绘

    简单python爬虫爬取游戏wiki立绘 玩二次元手游是感叹美少女立绘真好看啊,可惜就是抽不到,于是看到b站wiki上有角色立绘,就写了个爬虫准备将立绘趴下来欣赏(舔). 本人爬虫的技术只算是初学,代 ...

  6. Python爬虫---爬取腾讯动漫全站漫画

    Python爬虫---爬取腾讯动漫全站漫画 操作环境 网页分析 明确目标 提取漫画地址 提取漫画章节地址 提取漫画图片 编写代码 导入需要的模块 获取漫画地址 提取漫画的内容页 提取章节名 获取漫画源 ...

  7. Python爬虫 爬取豆瓣电影TOP250

    Python爬虫 爬取豆瓣电影TOP250 最近在b站上学习了一下python的爬虫,实践爬取豆瓣的电影top250,现在对这两天的学习进行一下总结 主要分为三步: 爬取豆瓣top250的网页,并通过 ...

  8. 利用python爬取知乎评论_一个简单的python爬虫,爬取知乎

    一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: 1 # -*- c ...

  9. Python爬虫爬取相关图片

    简要的实现实现Python爬虫爬取百度贴吧页面上的图片,下面的网页就是本篇博客所要爬的网页,当然看到的只是其中的一部分图片,是所要爬取的页面, 而下图则是最终的爬取的图片: 接下来就简要的讲讲爬取的整 ...

最新文章

  1. Java 程序优化之对象池
  2. python错误-python异常与错误区别
  3. php设计模式--单例模式
  4. Tyznn人脸识别温度检测智能门禁系统现货发售,助力疫情防控
  5. Educational Codeforces Round 65 (Rated for Div. 2) D. Bicolored RBS
  6. idea自动为行尾加分号
  7. keepAliveTime和线程工厂
  8. github单独下载某个文件或文件夹
  9. 计算机对环境的影响的案例,计算机环境下的呈现方式对学生样例学习的影响
  10. 一个小故事,玩转Python-while循环
  11. android studio 中使用lambda表达式
  12. SAP License:SAP复制和默认快捷小贴士
  13. 通俗讲解c语言指针的作用,C语言指针讲解(史上最通俗最全面最经典)
  14. python两张图片融合_python实现两张图片的像素融合
  15. 继承接口Java多线程(二)、启动一个线程的3种方式
  16. 交通信息工程 实验三:交通信号机仿真实验
  17. CLI (命令行接口) 简易开发
  18. GPA计算(5.0分制)
  19. 创业公司如何实施敏捷开发
  20. 做了5年软件测试,对游戏UI自动化测试的一些理解和认识

热门文章

  1. Vue一级路由与二级路由/路由重定向
  2. [转]gcc -ffunction-sections -fdata-sections -Wl,–gc-sections 参数详解
  3. 二十八宿距星位置计算
  4. 中国大学计算机专业排名教育部,全国计算机专业学校排名!别选错学校了
  5. 平台消息推送是如何实现的
  6. C# 学习笔记:委托(5):可变性
  7. CODJ 1070 秋实大哥打游戏 并查集
  8. python脚本控制ios手机app_iOS自动打包ipa(Python脚本)
  9. 【解决】Error loading the file ‘Assets/.../Scene.unity‘. File is either empty or corrupted, please......
  10. 微信小程序卡包wx.addcard文档缺失-ext参数说明