基于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实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
python实现杨辉三角思路
Jul 14 Python
python样条插值的实现代码
Dec 17 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
python安装gdal的两种方法
Oct 29 Python
python3实现elasticsearch批量更新数据
Dec 03 Python
python实现在一个画布上画多个子图
Jan 19 Python
Python3.8安装Pygame教程步骤详解
Aug 14 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
python爬虫中抓取指数的实例讲解
Dec 01 Python
python 使用cycle构造无限循环迭代器
Dec 02 Python
用Python实现屏幕截图详解
Jan 22 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实现变色验证码实例
2014/01/06 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
Python 12306抢火车票脚本
2018/02/07 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
Python selenium自动化测试模型图解
2020/04/15 Python
什么是Python中的顺序表
2020/06/02 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
优秀班干部事迹材料
2014/01/26 职场文书
软件售后服务方案
2014/05/29 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
红色经典电影观后感
2015/06/18 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书