基於Python爬取fofa網頁端資料過程解析
阿新 • • 發佈:2020-07-14
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)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。