一个超快的公共情报搜集爬虫 — Photon

2024-05-15 11:58

本文主要是介绍一个超快的公共情报搜集爬虫 — Photon,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是「进击的Coder」的第 456 篇技术分享

作者:Ckend

来源:Python 实用宝典

阅读本文大概需要 3 分钟。

Photon 是一个由 s0md3v 开源的情报搜集爬虫,其主要功能有:

1.爬取链接(内链、外链)。

2.爬取带参数的链接,如(pythondict.com/test?id=2)。

3.文件(pdf, png, xml)。

4.密钥(在前端代码中不小心被释放出来的)。

5.js 文件和 Endpoint(spring 中比较重要的监视器)

6.匹配自定义正则表达式的字符串。

7.子域名和 DNS 相关数据。

你可以用它来干很多事,比如爬图片、找漏洞、找子域名、爬数据等等。而且提取出来的数据格式非常整洁:

不仅如此,它甚至支持 json 格式 ,仅需要在输入命令的时候加上 json 参数:

python photon.py -u "http://example.com" --export=json

为什么能用来做情报搜集呢?耐心往后看哦。

1.下载安装

你可以上 photon 的 github 下载完整项目:https://github.com/s0md3v/Photon

下载后解压到你想要使用的地方。如果你还没有安装Python,建议阅读这篇文章:超详细Python安装指南,进行Python的安装。

安装完 Python 后,打开 CMD(windows)/Terminal(macOS),下面简称为终端,进入你刚解压的文件夹,然后输入以下命令安装 Photon 的依赖:

pip install -r requirements.txt

如图所示:

2.简单使用

注意,使用的时候要在 Photon 文件夹下。比如我们随便提取一个网站的 URL 试一下,在终端输入以下命令:

python photon.py -u https://bk.tencent.com/

结果如下:

它会在当前目录下产生一个你测试的域名的文件夹,比如在我这里是 bk.tencent.com:

嘻嘻,让我们看看里面有什么东西,有没有程序员留下的小彩蛋,打开 external.txt,这是该网站的外链的存放位置。可以看到,这里不仅仅是只有网站页面,连 CDN 文件地址都会放在这里,所以 external 可能是个藏宝库哦。

还能一下找出该网站上链接的全部开源项目:

3.扩展

这个项目的价值,不仅在于能够快速拉取你想要得到的数据,还在于能够构建一个牛逼轰轰的情报系统(如果你技术够强的话)。因为它是能不断延伸下去的,比如从外链出发,你能找到很多和这个网站相关的讯息:

相比于搜索引擎搜索的结果,实际上这些信息更符合情报的要求。而且不是所有的信息都能在搜索引擎搜索得到,而通过这个 Photon,你可以顺藤摸瓜找到那些隐藏在互联网世界的它们。

试想一下,如果你搜集了很多这样的网站...然后用正则表达式搭建一个属于你自己的搜索引擎,这样的感觉是不是很棒?

End

「进击的Coder」专属学习群已正式成立,搜索「CQCcqc4」添加崔庆才的个人微信或者扫描下方二维码拉您入群交流学习。

看完记得关注@进击的Coder

及时收看更多好文

↓↓↓

崔庆才的「进击的Coder」知识星球已正式成立,感兴趣的可以查看《我创办了一个知识星球》了解更多内容,欢迎您的加入:

好文和朋友一起看~

这篇关于一个超快的公共情报搜集爬虫 — Photon的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991777

相关文章

poj1330(LCA最近公共祖先)

题意:求最近公共祖先 思路:之前学习了树链剖分,然后我就用树链剖分的一小部分知识就可以解这个题目了,记录每个结点的fa和depth。然后查找时,每次将depth大的结点往上走直到x = y。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstring>

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

Golang 网络爬虫框架gocolly/colly(五)

gcocolly+goquery可以非常好地抓取HTML页面中的数据,但碰到页面是由Javascript动态生成时,用goquery就显得捉襟见肘了。解决方法有很多种: 一,最笨拙但有效的方法是字符串处理,go语言string底层对应字节数组,复制任何长度的字符串的开销都很低廉,搜索性能比较高; 二,利用正则表达式,要提取的数据往往有明显的特征,所以正则表达式写起来比较简单,不必非常严谨; 三,使

Golang网络爬虫框架gocolly/colly(四)

爬虫靠演技,表演得越像浏览器,抓取数据越容易,这是我多年爬虫经验的感悟。回顾下个人的爬虫经历,共分三个阶段:第一阶段,09年左右开始接触爬虫,那时由于项目需要,要访问各大国际社交网站,Facebook,myspace,filcker,youtube等等,国际上叫得上名字的社交网站都爬过,大部分网站提供restful api,有些功能没有api,就只能用http抓包工具分析协议,自己爬;国内的优酷、

Golang网络爬虫框架gocolly/colly(三)

熟悉了《Golang 网络爬虫框架gocolly/colly 一》和《Golang 网络爬虫框架gocolly/colly 二》之后就可以在网络上爬取大部分数据了。本文接下来将爬取中证指数有限公司提供的行业市盈率。(http://www.csindex.com.cn/zh-CN/downloads/industry-price-earnings-ratio) 定义数据结构体: type Zhj

014.Python爬虫系列_解析练习

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

urllib与requests爬虫简介

urllib与requests爬虫简介 – 潘登同学的爬虫笔记 文章目录 urllib与requests爬虫简介 -- 潘登同学的爬虫笔记第一个爬虫程序 urllib的基本使用Request对象的使用urllib发送get请求实战-喜马拉雅网站 urllib发送post请求 动态页面获取数据请求 SSL证书验证伪装自己的爬虫-请求头 urllib的底层原理伪装自己的爬虫-设置代理爬虫coo

在二叉树中找到两个节点的最近公共祖先(基于Java)

如题  题解 public int lowestCommonAncestor(TreeNode root, int o1, int o2) {//记录遍历到的每个节点的父节点。Map<Integer, Integer> parent = new HashMap<>();Queue<TreeNode> queue = new LinkedList<>();parent.put(roo

Python 爬虫入门 - 基础数据采集

Python网络爬虫是一种强大且灵活的工具,用于从互联网上自动化地获取和处理数据。无论你是数据科学家、市场分析师,还是一个想要深入了解互联网数据的开发者,掌握网络爬虫技术都将为你打开一扇通向丰富数据资源的大门。 在本教程中,我们将从基本概念入手,逐步深入了解如何构建和优化网络爬虫,涵盖从发送请求、解析网页结构到保存数据的全过程,并讨论如何应对常见的反爬虫机制。通过本教程,你将能够构建有效的网络爬