使用python爬蟲實現(xiàn)子域名探測問題
前言
意義:子域名枚舉是為一個或多個域查找子域的過程,它是信息收集階段的重要組成部分。
實現(xiàn)方法:使用爬蟲與字典爆破。
一、爬蟲
1.ip138
def search_2(domain): res_list = [] headers = { 'Accept': '*/*', 'Accept-Language': 'en-US,en;q=0.8', 'Cache-Control': 'max-age=0', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36', 'Connection': 'keep-alive', 'Referer': 'http://www.baidu.com/' } results = requests.get('https://site.ip138.com/' + domain + '/domain.htm', headers=headers) soup = BeautifulSoup(results.content, 'html.parser') job_bt = soup.findAll('p') try: for i in job_bt: link = i.a.get('href') linkk = link[1:-1] res_list.append(linkk) print(linkk) except: pass print(res_list[:-1]) if __name__ == '__main__': search_2("jd.com")
返回結果:
2.bing
def search_1(site): Subdomain = [] headers = { 'Accept': '*/*', 'Accept-Language': 'en-US,en;q=0.8', 'Cache-Control': 'max-age=0', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36', 'Connection': 'keep-alive', 'Referer': 'http://www.baidu.com/' } for i in range(1, 16): url = "https://cn.bing.com/search?q=site%3A" + site + "&go=Search&qs=ds&first=" + str( (int(i) - 1) * 10) + "&FORM=PERE" # conn = requests.session() # conn.get('http://cn.bing.com', headers=headers) # html = conn.get(url, stream=True, headers=headers) html = requests.get(url, stream=True, headers=headers) soup = BeautifulSoup(html.content, 'html.parser') # print(soup) job_bt = soup.findAll('h2') for i in job_bt: link = i.a.get('href') print(link) if link in Subdomain: pass else: Subdomain.append(link) print(Subdomain) if __name__ == '__main__': search_1("jd.com")
返回結果:
二、通過字典進行子域名爆破
def dict(url): for dict in open('dic.txt'): # 這里用到子域名字典文件dic.txt dict = dict.replace('\n', "") zym_url = dict + "." + url try: ip = socket.gethostbyname(zym_url) print(zym_url + "-->" + ip) time.sleep(0.1) except Exception as e: # print(zym_url + "-->" + ip + "--error") time.sleep(0.1) if __name__ == '__main__': dict("jd.com")
返回結果:
三、python爬蟲操作步驟
1.寫出請求頭headers與目標網(wǎng)站url
headers = { 'User-Agent': "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240" } url = "https://site.ip138.com/"
2.生成請求
get:res = requests.get(url + domain, headers=headers) post:res = requests.post(url + domain, headers=headers, data=data)
3.抓取數(shù)據(jù)
soup = BeautifulSoup(res.content, 'html.parser') # 以html解析器解析res的內容
此時print(soup),返回結果:
4.分析源碼,截取標簽中內容
1.通過分析源碼,確定需要提取p標簽中的內容:
job_bt = soup.findAll('p')
此時print(job_bt),返回結果:
2.繼續(xù)提取a標簽內屬性為href的值:
try: for i in job_bt: link = i.a.get('href') linkk = link[1:-1] res_list.append(linkk) print(linkk) except: pass
得結果:
3.再進行截?。?/p>
res_list[:-1]
得結果:
四、爬蟲一些總結
1.抓取數(shù)據(jù),生成soup
soup = BeautifulSoup(res.content, 'html.parser') # 以html解析器解析res的內容
2.從文檔中獲取所有文字內容
print(soup.get_text())
3.從文檔中找到所有< a >標簽的鏈接
for link in soup.find_all('a'): print(link.get('href'))
到此這篇關于使用python實現(xiàn)子域名探測的文章就介紹到這了,更多相關python子域名內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Python7個爬蟲小案例詳解(附源碼)中篇
- Python7個爬蟲小案例詳解(附源碼)上篇
- Python爬蟲程序中使用生產(chǎn)者與消費者模式時進程過早退出的問題
- Python爬蟲庫urllib的使用教程詳解
- Python利用yield?form實現(xiàn)異步協(xié)程爬蟲
- python爬蟲之requests庫使用代理方式
- python?基于aiohttp的異步爬蟲實戰(zhàn)詳解
- Python爬蟲框架NewSpaper使用詳解
- 通過python爬蟲mechanize庫爬取本機ip地址的方法
- Python爬蟲學習之requests的使用教程
- python爬蟲beautiful?soup的使用方式
- Python爬蟲之超級鷹驗證碼應用
- Python爬蟲Requests庫的使用詳情
- python爬蟲模擬登錄之圖片驗證碼實現(xiàn)詳解
- Python爬蟲eval實現(xiàn)看漫畫漫畫柜mhgui實戰(zhàn)分析
- python爬蟲實戰(zhàn)項目之爬取pixiv圖片
- python爬蟲之代理ip正確使用方法實例
- Python7個爬蟲小案例詳解(附源碼)下篇
相關文章
python 隊列基本定義與使用方法【初始化、賦值、判斷等】
這篇文章主要介紹了python 隊列基本定義與使用方法,結合實例形式分析了Python隊列的定義、初始化、賦值、判斷等相關操作技巧,需要的朋友可以參考下2019-10-10淺談python在提示符下使用open打開文件失敗的原因及解決方法
今天小編就為大家分享一篇淺談python在提示符下使用open打開文件失敗的原因及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11Python面向對象實現(xiàn)數(shù)據(jù)分析的實例詳解
這篇文章主要通過幾個實例為大家詳細介紹了Python面向對象實現(xiàn)數(shù)據(jù)分析的方法,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下2023-01-01如何將Pycharm中調整字體大小的方式設置為"ctrl+鼠標滾輪上下滑"
這篇文章主要介紹了如何將Pycharm中調整字體大小的方式設置為"ctrl+鼠標滾輪上下滑",本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11