python小工具之fofa小脚本
记录一个将python列表处理为csv文件的学习过程,并完成一个fofa查询的小工具编写
需要用到的库为如下库
import requests //request库,用来请求数据
import base64 //base64,进行base64编码
import pandas as pd //pandas库,数据处理,此处用来处理csv
import csv //csv文件
fofaApi验证数据如下图
本地验证的代码如下
```python
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0"}
getquery=input("查询语法:",)
strquery=str.encode(getquery)
bquery=base64.b64encode(strquery)
fquery=str(bquery,"utf-8")
url="https://fofa.so/api/v1/search/all?email=邮箱&key=fofakey&"+"qbase64="+fquery+"&page=1&size=1000&results={ip}"
print(url)
html=requests.get(url=url,headers=headers).json()
``
效果如下
返回的数据类型为json格式
然后需要将查询结果进行处理,再保存至csv文件
代码如下
key= list(html.values())[4:5] //取出结果中的results,转换为list
m = key[0] //处理多余的'[]'
处理结果如下
创建csv文件的列名
t=['域名','IP','端口']
创建csv文件
outputfile=open('test.csv', 'w', newline='')
outputfile.close()
将数据写入csv文件
df=pd.DataFrame(columns=t, data=m)
df.to_csv("test.csv",encoding='ANSI', index=False)
最终效果如下
最终代码如下
import requests
import base64
import pandas as pd
import csv
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0"}
getquery=input("查询语法:",)
strquery=str.encode(getquery)
bquery=base64.b64encode(strquery)
fquery=str(bquery,"utf-8")
url="https://fofa.so/api/v1/search/all?email=邮箱&key=apiKey&"+"qbase64="+fquery+"&page=1&size=1000&results={ip}"
html=requests.get(url=url,headers=headers).json()
outputfile=open('test.csv', 'w', newline='')
outputfile.close()
key= list(html.values())[4:5]
print(key)
t=['域名','IP','端口']
m = key[0]
df=pd.DataFrame(columns=t, data=m)
df.to_csv("test.csv",encoding='ANSI', index=False)
简单的小脚本就写完了。。。pandas库是真的好用