Heim >Backend-Entwicklung >Python-Tutorial >Python3 crawlt WeChat-Artikel
Voraussetzung:
Python3.4
Windows
Funktion: Suche nach relevanten WeChat-Artikeln über Sogous WeChat-Suchoberfläche und Importieren von Titeln und zugehörigen Links in Excel-Tabellen Medium
Hinweis: Das xlsxwriter-Modul ist erforderlich und die Programmschreibzeit ist der 11.07.2017, um zu vermeiden, dass das Programm später unbrauchbar wird, was mit Änderungen auf der Website zusammenhängen kann einfach, mit mehr als 40 Kommentarzeilen entfernt.
Hauptthema:
Idee: Öffnen Sie die ursprüngliche URL --> Rufen Sie den Titel und den Link regelmäßig ab --> Ändern Sie die Seitenschleife im zweiten Schritt --> Titel und Link in Excel
Der erste Schritt des Crawlers besteht darin, dies manuell zu tun (Klatsch)
Geben Sie die oben genannte URL ein, z. B. Eingabe: „Bilderkennung“, Suche, die URL wird rot markiert. Wenn Typ = 1 ist, wird nach offiziellen Konten gesucht. Unabhängig davon wurden die Schlüsselwörter codiert und es gibt auch einen versteckten Parameter Seite = 1
Wenn Sie zur zweiten Seite springen, sehen Sie „“ +search+'&page='+str(page)
Suche ist das Schlüsselwort gesucht. Verwenden Sie die quote()-Kodierung, um
1 search = urllib.request.quote(search)
einzufügen
Die vollständige URL wurde abgerufen, um die Daten abzurufen (Erstellen Sie ein Opener-Objekt und fügen Sie header() hinzu)
1 for page in range(1,pagenum+1): 2 url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)
Get den Seiteninhalt und verwenden Sie reguläre Ausdrücke, um relevante Daten zu erhalten
1 import urllib.request 2 header = ('User-Agent','Mozilla/5.0') 3 opener = urllib.request.build_opener() 4 opener.addheaders = [header] 5 urllib.request.install_opener(opener) 6 data = urllib.request.urlopen(url).read().decode()
Es gibt Interferenzelemente (Link: 'amp;') und irrelevante Elemente (Titel: '< ;...><....>') in den durch Regularisierung erhaltenen Daten verwenden Sie replace(), um
1 import re 2 finddata = re.compile('<a target="_blank" href="(.*?)".*?uigs="article_title_.*?">(.*?)</a>').findall(data) 3 #finddata = [('',''),('','')]
zu lösen
1 title = title.replace('<em><!--red_beg-->','') 2 title = title.replace('<!--red_end--></em>','')Speichern Sie den verarbeiteten Titel und Link in der Liste
1 link = link.replace('amp;','')
Die auf diese Weise gesuchten Titel und Links werden abgerufen. Importieren Sie anschließend Excel
1 title_link.append(link) 2 title_link.append(title)
1 import xlsxwriter 2 workbook = xlsxwriter.Workbook(search+'.xlsx')
3 worksheet = workbook.add_worksheet('微信')
Vollständig Code:
1 for i in range(0,len(title_link),2): 2 worksheet.write('A'+str(i+1),title_link[i+1]) 3 worksheet.write('C'+str(i+1),title_link[i]) 4 workbook.close()
Das obige ist der detaillierte Inhalt vonPython3 crawlt WeChat-Artikel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!