Heim > Artikel > Backend-Entwicklung > Python crawlt andere Webseiten
Dieser Artikel teilt Ihnen hauptsächlich eine Python-Anfragemethode zum Crawlen anderer Webseiten mit. Sie hat einen guten Referenzwert und ich hoffe, dass sie für alle hilfreich ist. Folgen wir dem Herausgeber, um einen Blick darauf zu werfen. Ich hoffe, es kann allen helfen.
Einfach ausgedrückt geht es darum, den Hyperlink „href“ auf der Webseite zu finden, dann die relative URL in eine absolute URL umzuwandeln und eine for-Schleife zu verwenden, um darauf zuzugreifen
import requestsfrom bs4 import BeautifulSoup#将字符串转换为Python对象import pandas as pd url = 'http://www.runoob.com/html/html-tutorial.html'r= requests.get(url) html=r.text.encode(r.encoding).decode() soup =BeautifulSoup(html,'lxml')#html放到beatifulsoup对象中l=[x.text for x in soup.findAll('h2')]#提取次标题中所有的文字df = pd.DataFrame(l,columns =[url])#将l变为DataFrame文件,列名为URLx=soup.findAll('a')[1]#查看第二个元素x.has_attr('href')#判断是都有href字符x.attrs['href']#获得超链接 attrs函数返回字典links = [i for i in soup.findAll('a')if i.has_attr('href')and i.attrs['href'][0:5]== '/html']#用if来做一个筛选relative_urls= set([i.attrs['href'] for i in links]) absolute_urls={'http://www.runoob.com'+i for i in relative_urls} absolute_urls.discard(url)#删除当前所在的urlfor i in absolute_urls: ri= requests.get(i) soupi =BeautifulSoup(ri.text.encode(ri.encoding),'lxml') li=[x.text for x in soupi.findAll('h2')] dfi = pd.DataFrame(l,columns =[i]) df = df.join(dfi,how='outer') df
Verwandte Empfehlungen:
Python crawlt einfache Webseiten
Python Crawler crawlt Tencent News
Python crawlt Taobao-Produktinformationen
Das obige ist der detaillierte Inhalt vonPython crawlt andere Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!