基于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 相关文章推荐
python字符串排序方法
Aug 29 Python
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
python logging 日志轮转文件不删除问题的解决方法
Aug 02 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
Python中的 enum 模块源码详析
Jan 09 Python
Python模块汇总(常用第三方库)
Oct 07 Python
python之array赋值技巧分享
Nov 28 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
Python实现手势识别
Oct 21 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
Python中lru_cache的使用和实现详解
Jan 25 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
浅谈ThinkPHP的URL重写
2014/11/25 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
JavaScript经典效果集锦
2010/07/06 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python中的__slots__使用示例
2015/02/26 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
家具厂厂长岗位职责
2014/01/01 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
python游戏开发Pygame框架
2022/04/22 Python