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


Posted in Python onJuly 13, 2020

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)

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

Python 相关文章推荐
pyv8学习python和javascript变量进行交互
Dec 04 Python
详解Python中的join()函数的用法
Apr 07 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
python django使用haystack:全文检索的框架(实例讲解)
Sep 27 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
解决pip install的时候报错timed out的问题
Jun 12 Python
python实现抖音点赞功能
Apr 07 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
python绘制地震散点图
Jun 18 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
Python如何存储数据到json文件
Mar 09 Python
Python实现中英文全文搜索的示例
Dec 04 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 #Python
python 制作python包,封装成可用模块教程
Jul 13 #Python
通过Python实现Payload分离免杀过程详解
Jul 13 #Python
python上selenium的弹框操作实现
Jul 13 #Python
python如何导入依赖包
Jul 13 #Python
python入门:argparse浅析 nargs='+'作用
Jul 12 #Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 #Python
You might like
YII中assets的使用示例
2014/07/31 PHP
php格式化电话号码的方法
2015/04/24 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
php微信公众号开发模式详解
2016/11/28 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
玩转Koa之koa-router原理解析
2018/12/29 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
Python 在函数上添加包装器
2020/07/28 Python
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
J2EE模式面试题
2016/10/11 面试题
模具毕业生推荐信
2014/02/15 职场文书
校长寄语大全
2014/04/09 职场文书
经典演讲稿开场白
2014/08/25 职场文书
催款函范文
2015/06/24 职场文书
社区干部培训心得体会
2016/01/06 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
详解Python描述符的工作原理
2021/06/11 Python
JavaScript执行机制详细介绍
2021/12/06 Javascript
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers