• 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='	')
            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 + '
    ')
    

     

    运行结果:


     

  • 相关阅读:
    【sqlalchemy】使用正确的DB_URI却报错密码错误-密码中包含特殊符号导致
    为什么只调用了1次函数,但是该函数却被执行了2次呢?
    【flask】使用类组织配置-使用工厂函数创建程序实例
    【python3】configparser读取ini配置文件
    【flask】使用配置类管理app测试环境-demo版
    【flask】flask项目配置 app.config
    【flask】环境配置-python-dotenv的使用
    从pip+requirements.txt+virtualenv管理依赖到使用pipenv管理依赖-修改布署方式
    【MAC】安装chrome浏览器
    【MAC】图片编辑工具-合成图片
  • 原文地址:https://www.cnblogs.com/i-honey/p/7878729.html
Copyright © 2020-2023  润新知