基于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 当前全局变量和入口参数的所有属性
Jul 01 Python
python中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
Python中使用PDB库调试程序
Apr 05 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
python创造虚拟环境方法总结
Mar 04 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
Pytorch提取模型特征向量保存至csv的例子
Jan 03 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
Feb 11 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 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
php Mysql日期和时间函数集合
2007/11/16 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
node.js中的console用法总结
2014/12/15 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
python简单文本处理的方法
2015/07/10 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
一步步教你用Python实现2048小游戏
2017/01/19 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
对python3新增的byte类型详解
2018/12/04 Python
python实现图片彩色转化为素描
2019/01/15 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
毕业生自荐信格式
2014/03/07 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js