当前位置: 首页 > news >正文

python爬取网站数据步骤_基于Python爬取fofa网页端数据过程解析

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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2020-07-11

相关文章:

  • vs生成事件怎么根据宏定义生成不同名称_Jenkins持续部署-自动生成版本号
  • 绝对妙算 身在职场必做的10件事
  • python设置文件权限_python通用权限框架
  • wince车机刷系统_城会玩!一顿折腾给奥迪Q5车机加装AV视频输入成功玩上坦克大战...
  • 2007,走好长征路!
  • c++开发工程师是属于前端还是后端_编程第一课 了解软件开发过程和程序员的工作...
  • 专业手机游戏开发基础(1)
  • tcp只发送不接收会怎样_面试TCP协议灵魂拷问十二个(建议收藏)
  • 专业手机游戏开发基础(2)
  • c++ string类的常用方法_String类型及其常用方法(2)
  • anaconda rstudio安装后打不开_spyder打不开 安装anaconda 的tips
  • 任正非:实事求是的科研方向与二十年的艰苦努力(新年推荐)
  • 为什么使用依赖注入_一起来踩踩 Spring 中这个循环依赖的坑
  • 一个由CVS不区分大小导致的404问题
  • springboot profile_SpringBoot-基础
  • 【译】JS基础算法脚本:字符串结尾
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Docker下部署自己的LNMP工作环境
  • Java 最常见的 200+ 面试题:面试必备
  • Linux中的硬链接与软链接
  • ReactNative开发常用的三方模块
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 官方解决所有 npm 全局安装权限问题
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 批量截取pdf文件
  • 区块链将重新定义世界
  • 如何进阶一名有竞争力的程序员?
  • 微信小程序设置上一页数据
  • AI算硅基生命吗,为什么?
  • Mac 上flink的安装与启动
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 数据可视化之下发图实践
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (6)添加vue-cookie
  • (HAL库版)freeRTOS移植STMF103
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (一) springboot详细介绍
  • (一)基于IDEA的JAVA基础10
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)平衡树
  • (转载)Linux 多线程条件变量同步
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET中的Exception处理(C#)
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @SentinelResource详解
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [2010-8-30]
  • [20171113]修改表结构删除列相关问题4.txt
  • [bzoj4240] 有趣的家庭菜园
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型