Heim  >  Artikel  >  Backend-Entwicklung  >  Python3 crawlt WeChat-Artikel

Python3 crawlt WeChat-Artikel

巴扎黑
巴扎黑Original
2017-07-21 13:46:321543Durchsuche

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

Seite wird zum Schleifen verwendet
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

Erstellen Sie zuerst Excel
1 title_link.append(link)
2 title_link.append(title)

und fügen Sie title_link hinzu. Importieren Sie Daten in Excel
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn