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
Wofür werden Crawler verwendet?
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
Webseitensammlung
Indexerstellung
Abfragesortierung
Welche Sprache sollte zum Schreiben von Crawlern verwendet werden?
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 können die detaillierte Extraktion von Webinhalten erleichtern, die Effizienz ist jedoch häufig nicht hoch. Geeignet für das gezielte Crawlen einer kleinen Anzahl von Websites
C#? (Scheint eine Sprache zu sein, die Leute im Informationsmanagement bevorzugen)
Warum haben Sie sich letztendlich für Python entschieden?
Plattformübergreifend, mit guter Unterstützung für Linux und Windows.
Wissenschaftliches Rechnen, numerische Anpassung: Numpy, Scipy
Visualisierung: 2d: Matplotlib (die Zeichnungen sind sehr schön), 3d: Mayavi2
Komplexes Netzwerk: Networkx
Statistik: Schnittstelle mit R-Sprache: Rpy
Interaktives Terminal
Schnelle Entwicklung von Websites
Ein einfacher Python-Crawler
1 import urllib 2 import urllib.request 3 4 def loadPage(url,filename): 5 """ 6 作用:根据url发送请求,获取html数据; 7 :param url: 8 :return: 9 """ 10 request=urllib.request.Request(url) 11 html1= urllib.request.urlopen(request).read() 12 return html1.decode('utf-8') 13 14 def writePage(html,filename): 15 """ 16 作用将html写入本地 17 18 :param html: 服务器相应的文件内容 19 :return: 20 """ 21 with open(filename,'w') as f: 22 f.write(html) 23 print('-'*30) 24 def tiebaSpider(url,beginPage,endPage): 25 """ 26 作用贴吧爬虫调度器,负责处理每一个页面url; 27 :param url: 28 :param beginPage: 29 :param endPage: 30 :return: 31 """ 32 for page in range(beginPage,endPage+1): 33 pn=(page - 1)*50 34 fullurl=url+"&pn="+str(pn) 35 print(fullurl) 36 filename='第'+str(page)+'页.html' 37 html= loadPage(url,filename) 38 39 writePage(html,filename) 40 41 42 43 if __name__=="__main__": 44 kw=input('请输入你要需要爬取的贴吧名:') 45 beginPage=int(input('请输入起始页')) 46 endPage=int(input('请输入结束页')) 47 url='https://tieba.baidu.com/f?' 48 kw1={'kw':kw} 49 key = urllib.parse.urlencode(kw1) 50 fullurl=url+key 51 tiebaSpider(fullurl,beginPage,endPage)
Das obige ist der detaillierte Inhalt vonWarum sollten Crawler Python verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!