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

第157天: 安全开发-Python 自动化挖掘项目SRC 目标FOFA 资产Web 爬虫解析库

案例一:Python-WEB 爬虫库&数据解析库

这里开发的内容不做过多描述,贴上自己写的代码
爬取数据

要爬取p标签,利用Beautyfulsoup模块

import requests,time
from bs4 import BeautifulSoup#url="https://src.sjtu.edu.cn/rank/firm/0/?page=2"
def get_content():for i in range (30,40):url="http://192.168.172.132/cms/show.php?id=%s"%iprint(url+'\n')try:response = requests.get(url)markup = response.text# print(markup)soup=BeautifulSoup(markup, "lxml")#divs = soup.find_all('div',attrs={'class','nav'})ps = soup.find_all('p')# print(ps)for p in ps:print(p.string+'\n')with open("examples.txt",'a+',encoding='utf-8') as file:file.write(p.string+'\n')except Exception as e:time.sleep(1)passif __name__ == "__main__":get_content()

运行结果,把所有p标签的文字都输入到了文件中

案例二:Python-EDU_SRC-目标列表爬取

fofa挖掘数据,这里代码还可以优化,如果要挖掘更多数据可以带上cookie去访问

这里fofa搜索后面的参数就是的就是base64的编码值,所以可以直接搜好以后用url地址去跑

import requests
from bs4 import BeautifulSoup#获取页码
def get_pages():pages = soup.find('span',attrs={"class":"hsxa-highlight-color"})#print(pages.get_text().strip())page = int(int(pages.get_text().strip())/10)page = page + 1print("一共有%s页"%page)#获取网页(title)名
def get_titles():ps = soup.find_all('p',attrs={"class":"el-tooltip hsxa-one-line item"})for p in ps:print(p.string.strip())#获取ip名
def get_ips():ips = soup.find_all('span',attrs={"class":"hsxa-host"})#print(ips)for ip in ips:print(ip.a.get_text().strip())#获取指纹
def get_serves():servers = soup.find_all('span',attrs={"class":"el-tooltip hsxa-list-span hsxa-list-span-sm"})#print(servers)for server in servers:print(server.get_text().strip())if __name__ == "__main__":url = input("请输入fofa的url地址:")response = requests.get(url)markup = response.textsoup = BeautifulSoup(markup,"lxml")while(True):math = int(input("\n"+"获取页码输入1"+"\n"+"获取title输入2"+"\n"+"获取ip输入3"+"\n"+"获取指纹输入4"+"\n"+"退出请输入5"+"\n"))if math == 1:get_pages()if math == 2:get_titles()if math == 3:get_ips()if math == 4:get_serves()if math == 5:break

运行结果

案例三: Python-FOFA_API-资产信息爬取

这里fafo自带有api接口可以利用去访问,不过呢这里需要fofa会员或者有F点才能够搜索,这里只能先贴上代码,没办法复现

import requests
import base64#https://fofa.info/api/v1/search/all?email=your_email&key=your_key&qbase64=dGl0bGU9ImJpbmcidef get_fofa_data(email,apikey):for eduname in open('eduname.txt',encoding='utf-8'):e=eduname.strip()search='"%s" && country="CN" && title=="Error 404--Not Found"'%eb=base64.b64encode(search.encode('utf-8'))b=b.decode('utf-8')url='https://fofa.info/api/v1/search/all?email=%s&key=%s&qbase64=%s'%(email,apikey,b)s=requests.get(url).json()print('查询->'+eduname)print(url)if s['size'] != 0:print(eduname+'有数据啦!')for ip in s['results']:print(ip[0])else:print('没有数据')if __name__ == '__main__':email='471656814@qq.com'apikey='0fccc926c6d0c4922cbdc620659b9a42'get_fofa_data(email,apikey)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 系统架构设计师 云原生架构篇
  • java框架
  • 关于若尔当矩阵中过渡矩阵的求法
  • 记录一下gitlab社区版的安装教程
  • 几种手段mfc140u.dll丢失的解决方法,了解mfc140u.dll
  • 我的AI工具箱Tauri版-FunAsr音频转文本
  • 什么是SERP?有什么用?
  • 视频服务器:GB28181网络视频协议
  • 【人工智能】Transformers之Pipeline(十八):文本生成(text-generation)
  • MongoDB事务机制
  • 88年,36岁,中年失业在家,如何缓解焦虑?
  • MobileCLIP: Fast Image-Text Models through Multi-Modal Reinforced Training
  • 二叉树的层序遍历 II
  • ClickHouse 的底层架构和原理
  • 记录一次显卡驱动安装
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [译]前端离线指南(上)
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ECS应用管理最佳实践
  • Git学习与使用心得(1)—— 初始化
  • JAVA SE 6 GC调优笔记
  • Java 网络编程(2):UDP 的使用
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java多态
  • Js基础知识(四) - js运行原理与机制
  • Octave 入门
  • PV统计优化设计
  • Selenium实战教程系列(二)---元素定位
  • Spring Boot MyBatis配置多种数据库
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 后端_MYSQL
  • 设计模式 开闭原则
  • 世界上最简单的无等待算法(getAndIncrement)
  • 线上 python http server profile 实践
  • 《天龙八部3D》Unity技术方案揭秘
  • 数据库巡检项
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #数据结构 笔记三
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (六)激光线扫描-三维重建
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (原)Matlab的svmtrain和svmclassify
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • ***原理与防范
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .gitignore文件_Git:.gitignore
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET delegate 委托 、 Event 事件
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .NET MVC 验证码
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅