Maison  >  Article  >  développement back-end  >  python3 explore les articles WeChat

python3 explore les articles WeChat

巴扎黑
巴扎黑original
2017-07-21 13:46:321543parcourir

Prérequis :

python3.4

windows

Fonction : Rechercher des articles WeChat pertinents via l'interface de recherche WeChat de Sogou et importer des titres et des liens associés dans des tableaux Excel Moyen

Remarque : Le module xlsxwriter est requis et le temps d'écriture du programme est le 11/07/2017, afin d'éviter que le programme ne soit inutilisable ultérieurement, ce qui peut être lié à des modifications du site Web. simple, avec plus de 40 lignes de commentaires supprimées.

Sujet principal :

Idée : Ouvrir l'URL initiale --> Récupérer le titre et le lien régulièrement --> Modifier la boucle de la page dans la deuxième étape --> titre et lien dans Excel

La première étape du robot est de le faire manuellement (potins)

Entrez l'URL mentionnée ci-dessus, telle que la saisie : "reconnaissance d'image", recherche, l'URL deviendra "" marqué en rouge. Lorsque type=1, il recherche des comptes officiels. Quoi qu'il en soit, query='search keywords', les mots-clés ont été codés, et il y a aussi un paramètre caché page=1.

lorsque vous passez à la seconde Lorsque vous cliquez sur la page, vous pouvez voir "" +search+'&page='+str(page)

search est le mot-clé à utiliser recherché. Utilisez l'encodage quote() pour insérer

la page est utilisée pour la boucle
1 search = urllib.request.quote(search)

L'URL complète a été obtenue. Ensuite, visitez l'URL pour obtenir les données (Créez un objet d'ouverture et ajoutez un en-tête())

1 for page in range(1,pagenum+1):
2     url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)

Obtenir. le contenu de la page et utiliser des expressions régulières pour obtenir des données pertinentes

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()

Il existe des éléments d'interférence (lien : 'amp;') et des éléments non pertinents (titre : '< ;...><....>') dans les données obtenues par régularisation, utilisez replace() pour résoudre

1 import re
2     finddata = re.compile('<a target="_blank" href="(.*?)".*?uigs="article_title_.*?">(.*?)</a>').findall(data)
3     #finddata = [('',''),('','')]

1 title = title.replace('<em><!--red_beg-->','')
2 title = title.replace('<!--red_end--></em>','')
Enregistrez le titre et le lien traités dans la liste
1 link = link.replace('amp;','')

Les titres et liens ainsi recherchés sont obtenus. Ensuite, importez Excel

Créez d'abord Excel
1 title_link.append(link)
2 title_link.append(title)

et ajoutez-y title_link Importez des données dans Excel

1 import xlsxwriter
2 workbook = xlsxwriter.Workbook(search+'.xlsx')
3 worksheet = workbook.add_worksheet('微信')
Complet 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()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn