大家都知道,在python當中,需要面對是各種各樣的問題,比如我們需要用到的是:使用python爬蟲實現(xiàn)子域名探測,這種技能是值得我們?nèi)ミM行學習的,但是學習的話,內(nèi)容還是比較多的,下面就具體的內(nèi)容,給大家做出一個詳細解答。
前言
意義:子域名枚舉是為一個或多個域查找子域的過程,它是信息收集階段的重要組成部分。
實現(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")
返回結(jié)果:
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")
返回結(jié)果:
二、通過字典進行子域名爆破
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")
返回結(jié)果:
三、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的內(nèi)容
此時print(soup),返回結(jié)果:
4.分析源碼,截取標簽中內(nèi)容
1.通過分析源碼,確定需要提取p標簽中的內(nèi)容:
job_bt=soup.findAll('p')
此時print(job_bt),返回結(jié)果:
2.繼續(xù)提取a標簽內(nèi)屬性為href的值:
try: for i in job_bt: link=i.a.get('href') linkk=link[1:-1] res_list.append(linkk) print(linkk) except: pass
得結(jié)果:
3.再進行截取:
res_list[:-1]
得結(jié)果:
四、爬蟲一些總結(jié)
1.抓取數(shù)據(jù),生成soup
soup=BeautifulSoup(res.content,'html.parser')#以html解析器解析res的內(nèi)容
2.從文檔中獲取所有文字內(nèi)容
print(soup.get_text())
3.從文檔中找到所有<a>標簽的鏈接
for link in soup.find_all('a'): print(link.get('href'))
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)砀嗟膸椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128252.html
摘要:通過域名,最終得到該域名對應(yīng)的地址的過程叫做域名解析或主機名解析。協(xié)議運行在協(xié)議之上,使用端口號。在文檔中對有規(guī)范說明,對的動態(tài)更新進行說明,對查詢的反向緩存進行說明。 你們是否跟我一樣,不知道什么是DNS,在這里,首先普及一下什么是DNS DNS(Domain Name System,域名系統(tǒng)),萬維網(wǎng)上作為域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng)...
摘要:用將倒放這次讓我們一個用做一個小工具將動態(tài)圖片倒序播放發(fā)現(xiàn)引力波的機構(gòu)使用的包美國科學家日宣布,他們?nèi)ツ暝率状翁綔y到引力波。宣布這一發(fā)現(xiàn)的,是激光干涉引力波天文臺的負責人。這個機構(gòu)誕生于上世紀年代,進行引力波觀測已經(jīng)有近年。 那些年我們寫過的爬蟲 從寫 nodejs 的第一個爬蟲開始陸陸續(xù)續(xù)寫了好幾個爬蟲,從爬拉勾網(wǎng)上的職位信息到爬豆瓣上的租房帖子,再到去爬知乎上的妹子照片什么的,爬蟲...
摘要:內(nèi)存池機制提供了對內(nèi)存的垃圾收集機制,但是它將不用的內(nèi)存放到內(nèi)存池而不是返回給操作系統(tǒng)。為了加速的執(zhí)行效率,引入了一個內(nèi)存池機制,用于管理對小塊內(nèi)存的申請和釋放。 注:答案一般在網(wǎng)上都能夠找到。1.對if __name__ == main的理解陳述2.python是如何進行內(nèi)存管理的?3.請寫出一段Python代碼實現(xiàn)刪除一個list里面的重復元素4.Python里面如何拷貝一個對象?...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02