Was ist ein Webcrawler?
Ein Webcrawler ist ein Programm, das automatisch Webseiten aus dem World Wide Web für Suchmaschinen herunterlädt und ein wichtiger Bestandteil von Suchmaschinen ist. Der herkömmliche Crawler beginnt mit der URL einer oder mehrerer anfänglicher Webseiten und ruft die URL auf der ursprünglichen Webseite ab. Während des Crawlens der Webseite extrahiert er kontinuierlich neue URLs von der aktuellen Seite und stellt sie in die Warteschlange, bis sie sicher sind Stoppbedingungen des Systems sind erfüllt
Was nützen Crawler?
Fungiert als universeller Suchmaschinen-Websammler. (Google, Baidu) ist eine vertikale Suchmaschine: Online-Menschenverhalten, Online-Community-Evolution, Forschung zur menschlichen Dynamik, ökonometrische Soziologie, komplexe Netzwerke, Data Mining und andere Bereiche erfordern eine große Datenmenge Tool zum Sammeln relevanter Daten. Peeping, Hacking, Spamming...
Crawler ist der erste und einfachste Schritt für Suchmaschinen
Welche Sprache sollte man zum Schreiben eines Crawlers verwenden?
C, C++. Hocheffizient und schnell, geeignet für allgemeine Suchmaschinen zum Crawlen des gesamten Webs. Nachteile: Die Entwicklung ist langsam und das Schreiben ist stinkend und langwierig, zum Beispiel: Skynet-Suchquellcode. Skriptsprache: Perl, Python, Java, Ruby. Einfache, leicht zu erlernende und gute Textverarbeitung kann die detaillierte Extraktion von Webinhalten erleichtern, aber die Effizienz ist oft nicht hoch. Ist C# für das gezielte Crawlen einer kleinen Anzahl von Websites geeignet? (Scheint eine Sprache zu sein, die Leute im Informationsmanagement bevorzugen)
Die Gründe für die Wahl von Python als Crawler:
Plattformübergreifend, bietet gute Unterstützung für Linux und Fenster.
Wissenschaftliches Rechnen, numerische Anpassung: Numpy, Scipy
Visualisierung: 2d: Matplotlib (die Zeichnungen sind sehr schön), 3d: Mayavi2
Komplexes Netzwerk: Networkx-Statistiken: und R-Sprachschnittstelle: Rpy
Interaktives Terminal
Schnelle Entwicklung der Website
Ein einfacher Python-Crawler
import urllib import urllib.request def loadPage(url,filename): """ 作用:根据url发送请求,获取html数据; :param url: :return: """ request=urllib.request.Request(url) html1= urllib.request.urlopen(request).read() return html1.decode('utf-8') def writePage(html,filename): """ 作用将html写入本地 :param html: 服务器相应的文件内容 :return: """ with open(filename,'w') as f: f.write(html) print('-'*30) def tiebaSpider(url,beginPage,endPage): """ 作用贴吧爬虫调度器,负责处理每一个页面url; :param url: :param beginPage: :param endPage: :return: """ for page in range(beginPage,endPage+1): pn=(page - 1)*50 fullurl=url+"&pn="+str(pn) print(fullurl) filename='第'+str(page)+'页.html' html= loadPage(url,filename) writePage(html,filename) if __name__=="__main__": kw=input('请输入你要需要爬取的贴吧名:') beginPage=int(input('请输入起始页')) endPage=int(input('请输入结束页')) url='https://tieba.baidu.com/f?' kw1={'kw':kw} key = urllib.parse.urlencode(kw1) fullurl=url+key tiebaSpider(fullurl,beginPage,endPage)
Weitere technische Artikel zu Python finden Sie unter Spalte Python-Tutorial zum Lernen!
Das obige ist der detaillierte Inhalt vonWarum sollten Sie Python als Crawler verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!