Maison  >  Article  >  développement back-end  >  Python apprend à capturer les actualités du parc de blogs

Python apprend à capturer les actualités du parc de blogs

PHP中文网
PHP中文网original
2017-06-20 15:23:221629parcourir

前言

  说到python,对它有点耳闻的人,第一反应可能都是爬虫~

  这两天看了点python的皮毛知识,忍不住想写一个简单的爬虫练练手,JUST DO IT

准备工作

  要制作数据抓取的爬虫,对请求的源页面结构需要有特定分析,只有分析正确了,才能更好更快的爬到我们想要的内容。

  浏览器访问570973/,右键“查看源代码”,初步只想取一些简单的数据(文章标题、作者、发布时间等),在HTML源码中找到相关数据的部分:

  1)标题(url):

 2) Auteur : Affiche itwriter

 3) Heure de sortie : Publié le 06/06/2017 14:53

  4) ID de l'actualité actuelle : Bien sûr, si vous souhaitez suivre l'exemple, la structure des liens "article précédent" et "article suivant" est très importante mais j'ai trouvé un problème avec les deux balises content , est rendu via js, que dois-je faire ? Essayez de trouver des informations (python exécute js et autres), mais pour les novices en python, cela peut être un peu en avance et je prévois de trouver une autre solution. Bien que ces deux liens soient rendus via js, en théorie, la raison pour laquelle js peut restituer le contenu devrait être en lançant une requête et en obtenant la réponse. Ensuite, est-il possible de surveiller la page Web ? processus de chargement pour voir quelles informations utiles il y a ? Je voudrais saluer les navigateurs tels que Chrome/Firefox. Developer Tools/Network peut voir clairement l'état de la demande et de la réponse de toutes les ressources.   Leurs adresses de demande sont :

1) ID de l'actualité précédente : 2) ID de l'actualité suivante : Le contenu de la réponse est JSON

Ici, ContentID est ce dont nous avons besoin. En fonction de cette valeur, nous pouvons connaître l'article précédent ou suivant de l'URL d'actualité en cours, car. l'adresse de la page des communiqués de presse a un format fixe :

{{ContentID}}

/ (Le contenu rouge est l'identifiant remplaçable)

Outils

 1) python 3.6 (installer pip en même temps et ajouter des variables d'environnement)

 2) PyCharm 2017.1.3

 3) Bibliothèque Python tierce (installation : cmd -> nom d'installation pip)

a) pyperclip : utilisé pour lire et écrire le presse-papiers

b) requêtes : une bibliothèque HTTP basée sur urllib et utilisant le protocole open source sous licence Apache2. C'est plus pratique que urllib et peut nous faire économiser beaucoup de travail

c) beautifulsoup4 : Beautiful Soup fournit des fonctions simples de style python pour gérer la navigation, la recherche, modifier les arbres d'analyse, etc. Fonction. Il s'agit d'une boîte à outils qui fournit aux utilisateurs les données dont ils ont besoin pour explorer en analysant les documents


code source

Personnellement, je pense que les codes sont très basiques et faciles à comprendre (après tout, les novices ne peuvent pas écrire de code avancé. Si vous avez des questions ou des suggestions, n'hésitez pas à me le faire savoir

Exécutez

Enregistrez le code source ci-dessus dans D:/get_cnblogs_news.py, sous Windows platform Ouvrez l'outil de ligne de commande cmd :

Saisissez la commande : py.exe D:/get_cnblogs_news.py Saisissez

Analyse : Pas besoin d'expliquer py.exe, le deuxième paramètre est le python fichier de script , le troisième paramètre est la page source qui doit être explorée (il y a une autre considération dans le code. Si vous copiez cette URL dans le presse-papiers du système, vous pouvez l'exécuter directement : py.exe D:/get_cnblogs_news.py

 Interface de sortie de ligne de commande (impression)

 

 Contenu enregistré dans un fichier csv

 

Livre ou matériel d'apprentissage Python recommandé pour les débutants :

1) Le tutoriel Python de Liao Xuefeng, très basique et facile à comprendre :

2 ) Démarrez rapidement avec la programmation Python pour automatiser un travail fastidieux.pdf

 

L'article n'est qu'un journal pour apprendre Python. S’il y a quelque chose de trompeur, veuillez le critiquer et le corriger (non, s’il vous plaît, ne pas vaporiser), je serais honoré si cela vous aidait.

 

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!