基于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备份Mysql脚本
Aug 11 Python
wxPython窗口中文乱码解决方法
Oct 11 Python
用Python代码来绘制彭罗斯点阵的教程
Apr 03 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
python操作excel让工作自动化
Aug 09 Python
python如果快速判断数字奇数偶数
Nov 13 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
scrapy头部修改的方法详解
Dec 06 Python
Python jiaba库的使用详解
Nov 23 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
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
js 调整select 位置的函数
2008/02/21 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
2017/06/08 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
python实现自动登录后台管理系统
2018/10/18 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
小学教研工作制度
2014/01/15 职场文书
2014年度工作总结报告
2014/12/15 职场文书
商务代表岗位职责
2015/02/15 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python