基于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 相关文章推荐
Python3 循环语句(for、while、break、range等)
Nov 20 Python
关于反爬虫的一些简单总结
Dec 13 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
Python中类似于jquery的pyquery库用法分析
Dec 02 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
python实现从ftp上下载文件的实例方法
Jul 19 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实现的Captcha验证码类实例
2014/09/22 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
让您的菜单不离网站
2006/10/03 Javascript
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
javascript 页面只自动刷新一次
2009/07/10 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
跟老齐学Python之再深点,更懂list
2014/09/20 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
Python构建网页爬虫原理分析
2017/12/19 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
python3中eval函数用法使用简介
2019/08/02 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
文明宿舍获奖感言
2014/02/07 职场文书
学校个人对照检查材料
2014/08/26 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
护士求职自荐信
2015/03/25 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android