Praktischer Inhalt: Erhalten Sie chinesische und englische Namen, Namen aus Hongkong und Taiwan, Regisseure, Erscheinungsjahre, Filmklassifizierungen und Bewertungen der TOP250-Filme von Douban und speichern Sie die Daten in Datenbanken und Dateien. Der Link lautet: https://movie.douban.com/top250?start=.
Wir haben bereits viele Möglichkeiten zum Crawlen von Webseitendaten vorgestellt. Lassen Sie uns die Daten unten crawlen.
importreimportrequestsfrombs4importBeautifulSoupforiinrange(0,2):headers={#Dies simuliert einen Browser für den Zugriff auf 'user-agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.82Safari /537.36','Host':'movie.douban.com'}res='https://movie.douban.com/top250?start='+str(25*i)#25 mal r=requests.get( res,headers=headers,timeout=10)#Legen Sie die Zeitüberschreitung fest Suppe=BeautifulSoup(r.text,html.parser)#Legen Sie die Analysemethode fest, Sie können auch drucken(Suppe)
Die Ausgabe ist:
<!DOCTYPEhtml><htmlclass=ua-windowsua-webkit><head><metacontent=text/html;charset=utf-8http-equiv=Content-Type/><metacontent=webkitname=renderer/><metacontent=alwaysname=referrer /><metacontent=ok0wCgT20tBBgo9_zat2iAcimtN4Ftf5ccsh092Xeywname=google-site-verification><title>Top250 Douban-Filme</title>.....</script><!--dae-web-movie--default-759d9f45f7- b69fc-- ><script>_SPLITTEST=''</script></link></link></body></html>
Hier verwenden wir die Funktion mad5() im Hashlib-Modul in Python. Wenn Sie die Daten gerade gecrawlt haben, können Sie diesen Schritt weglassen.
MD5 ist ein Verschlüsselungsalgorithmus, der häufig im Bereich der Computersicherheit verwendet wird.
importhashlibdefvertifyupdate(html):md5=hashlib.md5()md5.update(html.encode(encoding='utf-8'))md5code=md5.hexdigest()print(md5code)old_html=''htlm_name='gp.txt 'ifos.path.exists(htlm_name):withopen(htlm_name,'r',encoding='utf-8')asf:old_html=f.read()ifmd5code==old_html:print('Daten nicht aktualisiert')returnFalseelse: withopen(htlm_name,'w',encoding='utf-8')asf:f.write(md5code)print('data aktualisiert')returnTrue
Diese Funktion muss das Hashlib-Modul importieren, dann ein MD5-Objekt erstellen, die Informationen der aktuellen Seite übergeben und mithilfe der Methode updata() MD5-Operationen für die eingehenden Daten ausführen.
Verwenden Sie dann die if-Anweisung, um festzustellen, ob die Datei vorhanden ist, und ermitteln Sie dann, ob die beiden MD5-Codes identisch sind. Andernfalls liegt keine Aktualisierung vor. Es wurde aktualisiert und der neue MD5-Code wird in der Datei übergeben.
Das Crawlen von Daten ist der erste Schritt, den wir durchführen müssen, bevor wir sie verwenden können. Dies sind relativ einfache Schritte, um genauere Daten zu erhalten Nächster Abschnitt Führen wir eine Datenanalyse durch.