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

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

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

爬取数据

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

python 复制代码
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"%i
        print(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)
            pass

if __name__ == "__main__":
    get_content()

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

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

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

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

python 复制代码
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 + 1
    print("一共有%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.text
    soup = 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点才能够搜索,这里只能先贴上代码,没办法复现

python 复制代码
import requests
import base64

#https://fofa.info/api/v1/search/all?email=your_email&key=your_key&qbase64=dGl0bGU9ImJpbmci



def 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"'%e
        b=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)
相关推荐
月光船幽幽6 小时前
检测用户意图复杂性的关键方法
人工智能·python
威联通网络存储9 小时前
TS-h3087XU-RP 汽车零部件质检追溯部署
python·汽车
里欧跑得慢9 小时前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
你驴我9 小时前
WhatsApp 多账号场景下的会话归档与历史消息检索优化实践
后端·python
IT毕设实战小研9 小时前
基于安卓的空气质量查询系统
android·大数据·vue.js·爬虫·python·django·课程设计
全栈弄潮儿10 小时前
AI 编程中的隐私与安全:哪些信息不要提交
安全·openai·ai编程
harmful_sheep10 小时前
java group by常见用法
java·开发语言·python
whcyhhh10 小时前
头歌实践教学平台:数据科学与大数据技术导论(十六)
大数据·开发语言·python
宸津-代码粉碎机10 小时前
AI工程化高阶实战|从Demo到生产落地核心架构、全套源码与避坑指南
java·大数据·开发语言·人工智能·python·架构
郝学胜-神的一滴12 小时前
Effective Python 条款4:字符串格式化大乱斗
开发语言·网络·python·程序人生·软件工程