Vous vous demandez certainement comment faire de la veille, plus efficacement et partager vos trouvailles ou infos plus rapidement.
Dans un premier temps, je peux m’abonner, à de multiples sites de news, concernant les domaines que je veux suivre, et attendre de recevoir chaque articles, dans mes emails, c’est long et fastidieux !
Je voulais trouver un moyen plus simple et le plus rapide d’accomplir cette tâche.
Et c’est Python, qui va me permettre cela, je vais pouvoir avec quelques lignes de codes, lui demander d’aller récupérer, les articles sur un ou plusieurs sites et de me sauvegarder tout cela dans un fichier CSV.
Il existe des plugins en Python très connu qui auraient pu m’aider à faire cela, l’un étant BeautifulSoup . C’est un excellent plugin, mais je ne voulais pas me soucier des structures html et du Dom (Document Object Model ) de chaque plate-forme.
Quelques recherches sur mon ami Google, m’ont permis de trouver une solution simple à mon problème.
Un module simple et qui fait cela : Newspaper3k !
Je vais donc vous montrer comment scrapper rapidement un tas d’articles de différent sites avec l’aide de Google Colab et d’un script Python simple.
Qu’est-ce que Google Colab ?
Google Colab est un environnement de notebook Jupyter hébergé qui est gratuit et ne nécessite aucune configuration. C’est un service cloud gratuit et il prend en charge le GPU gratuitement !

Vous pouvez simplement améliorer vos compétences en codage de langage de programmation Python ou développer des applications d’apprentissage en profondeur à l’aide de bibliothèques populaires telles que Keras , TensorFlow , PyTorch et OpenCV .
Maintenant, toutes ces bibliothèques sont déjà installées pour vous. Il n’est donc pas nécessaire de passer par les tracas liés à l’installation des bibliothèques. Passez directement au codage !
De plus il est interconnectable avec votre compte Gmail et vous pourrez donc partager vos extractions vers votre Drive ou collaborer avec d’autres utilisateurs sur vos scripts.
Comment utiliser Newspaper3k ?
Tout d’abord, nous devons installer le plugin python dans votre environnement Google Colab.
Créer un nouveau Notebook et nommez le : ex –> Scrapnews
Chacune des commandes seront à lancer dans une cellule matérialisé,
par le petit bouton play ( voir photo ci dessous ).

$ pip install newspaper3k
Nous allons installer , newspaper3K,
écrivez la commande ci dessus et finissez par le bouton [ play ]
l’installation démarre avec quelques lignes de commandes qui s’affichent.

Nous allons maintenant commencer à coder notre Scrappeur …
Copier le code suivant ci-dessous dans une nouvelle cellule, pour ce faire cliquez sur le bouton +code dans le menu principale et finissez par le bouton [ play ].

import newspaper
from newspaper import Article
from newspaper import Source
from newspaper import news_pool
import pandas as pd
Si vous n’avez pas de messages d’erreur, c’est que les paquets sont bien installés.
Maintenant créez une nouvelle cellule, et copier le code suivant ci-dessous, pour ce faire cliquez sur le bouton +code dans le menu principale.
Comment télécharger plusieurs articles en simultanés ?
Plusieurs étapes seront nécessaires pour arriver à notre but :
- Installation des plugins utiles
- Liste des différents sites pour lesquels je veux récupérer mes articles
- Placez les sources dans une variable « papers »
- Création d’un tableau avec toutes les news
- Exporter le résultat au format CSV
Attention l’indentation est très importante en Pyhton
# installation des plugins utiles
# Différents sites pour lesquels je veux récupérer mes articles
gamespot = newspaper.build('https://www.blogdumoderateur.com/dossier/google', memoize_articles=False)
bbc = newspaper.build("https://gsuitefr.blogspot.com", memoize_articles=False)
# Place les sources dans une variable "papers"
papers = [gamespot, bbc]
# Je ne veux récuperer que 4 articles / sources
# Une fois télécharger je stock les news dans un tableau finale
news_pool.set(papers, threads_per_source=4)
news_pool.join()
# Creation du tableau avec toutes les news
final_df = pd.DataFrame()
# Possibilité d'ajouter une limite, préférable pour ne pas avoir un Exceeded Time Error
limit = 100
for source in papers:
# Je crée une boucle qui récupére chaques titre, texte et url de mes sources
list_title = []
list_text = []
list_source =[]
count = 0
for article_extract in source.articles:
article_extract.parse()
if count > limit:
# Je luis donne ma limite paramétrer plus haut
break
# j'extrait les éléments à afficher
list_title.append(article_extract.title)
list_text.append(article_extract.text)
list_source.append(article_extract.url)
count +=1
temp_df = pd.DataFrame({'Title': list_title, 'Text': list_text, 'Source': list_source})
# J'ajoute le tout à mon tableau final
final_df = final_df.append(temp_df, ignore_index = True)
# J'exporte le resultat au format CSV
final_df.to_csv('mes_articles.csv')


…. Et voilà !
Notre scrappeur multi thread est actif, vous pourrez aisément le perfectionner, récuperer les images également etc …
Le lien Google Colab pour récuperer les sources :
Bon Scrapping !!!
