基于Python爬取fofa网页端数据过程解析

 更新时间:2020年07月13日 09:09:11   作者:aptkekeo  
这篇文章主要介绍了基于Python爬取fofa网页端数据过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

FOFA-网络空间安全搜索引擎是网络空间资产检索系统(FOFA)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息。探索全球互联网的资产信息,进行资产及漏洞影响范围分析、应用分布统计、应用流行度态势感知等。

安装环境:

pip install requests
pip install lxml
pip install fire

使用命令:

python fofa.py -s=title="你的关键字" -o="结果输出文件" -c="你的cookie"

代码如下:

import requests,time,base64,fire
from lxml import etree
def fofasc(s,o,c):
  try:
    sbase64 = (base64.b64encode(s.encode('utf-8'))).decode('utf-8')
    cookies = {
      "_fofapro_ars_session": c
    }
 
    headers = {
      'User-Agent': 'Mozilla/5.0 (Linux; Android 7.1.2; PCRT00 Build/N2G48H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.158 Safari/537.36 fanwe_app_sdk sdk_type/android sdk_version_name/4.0.1 sdk_version/2020042901 screen_width/720 screen_height/1280',
    }
    for i in range(1,1000):
      url = "https://www.fofa.so/result?q="+s+"&qbase64="+sbase64+"&full=true&page="+str(i)
      r = requests.get(url, headers=headers, cookies=cookies)
      soup = etree.HTML(r.text)
      result = soup.xpath('//*[@id="ajax_content"]/div/div/div/a/text()')
      print(result)
      if result != []:
        for rs in result:
          with open(o,mode="a+") as f:
            f.write(rs+"\n")
      else:
        print("已经获取不到任何数据,爬取完毕!")
        break
      time.sleep(2)
  except KeyboardInterrupt:
    print('用户退出')
if __name__ == '__main__':
  fire.Fire(fofasc)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • selenium+python自动化测试之使用webdriver操作浏览器的方法

    selenium+python自动化测试之使用webdriver操作浏览器的方法

    这篇文章主要介绍了selenium+python自动化测试之使用webdriver操作浏览器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • python实现美团订单推送到测试环境,提供便利操作示例

    python实现美团订单推送到测试环境,提供便利操作示例

    这篇文章主要介绍了python实现美团订单推送到测试环境,提供便利操作,涉及Python基于requests模块的网络请求与数据处理相关操作技巧,需要的朋友可以参考下
    2019-08-08
  • Python实现简单过滤文本段的方法

    Python实现简单过滤文本段的方法

    这篇文章主要介绍了Python实现简单过滤文本段的方法,涉及Python针对文本的读取及字符串遍历、判断、打印等相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • python opencv实现图像矫正功能

    python opencv实现图像矫正功能

    这篇文章主要为大家详细介绍了python opencv实现图像矫正功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • flask SQLAlchemy连接数据库及操作的实现

    flask SQLAlchemy连接数据库及操作的实现

    本文主要介绍了flask SQLAlchemy连接数据库及操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python编程中简洁优雅的推导式示例详解

    python编程中简洁优雅的推导式示例详解

    这篇文章主要为大家介绍了python编程中简洁优雅的推导式示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • Python自定义简单图轴简单实例

    Python自定义简单图轴简单实例

    这篇文章主要介绍了Python自定义简单图轴简单实例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • pytorch 实现在测试的时候启用dropout

    pytorch 实现在测试的时候启用dropout

    这篇文章主要介绍了pytorch 实现在测试的时候启用dropout的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python中subprocess的简单使用示例

    Python中subprocess的简单使用示例

    这篇文章主要介绍了Python中subprocess的简单使用示例,是Python进程方面处理的相关重要知识,需要的朋友可以参考下
    2015-07-07
  • Numpy中np.random.rand()和np.random.randn() 用法和区别详解

    Numpy中np.random.rand()和np.random.randn() 用法和区别详解

    这篇文章主要介绍了Numpy中np.random.rand()和np.random.randn() 用法和区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论