Maison développement back-end Tutoriel Python Scrapy met en œuvre la collecte et l'analyse de données sur des sites Web d'actualités

Scrapy met en œuvre la collecte et l'analyse de données sur des sites Web d'actualités

Jun 22, 2023 pm 07:34 PM
分析 数据采集 scrapy

Avec le développement continu de la technologie Internet, les sites Web d'information sont devenus le principal moyen permettant aux gens d'obtenir des informations sur l'actualité. La manière de collecter et d’analyser rapidement et efficacement les données des sites Web d’information est devenue l’une des orientations de recherche importantes dans le domaine Internet actuel. Cet article expliquera comment utiliser le framework Scrapy pour mettre en œuvre la collecte et l'analyse de données sur les sites Web d'actualités.

1. Introduction au framework Scrapy

Scrapy est un framework de robot d'exploration Web open source écrit en Python, qui peut être utilisé pour extraire des données structurées à partir de sites Web. Le framework Scrapy est basé sur le framework Twisted et peut explorer de grandes quantités de données rapidement et efficacement. Scrapy possède les fonctionnalités suivantes :

  1. Fonctionnalités puissantes - Scrapy fournit de nombreuses fonctionnalités utiles, telles que des requêtes et des gestionnaires personnalisés, des mécanismes automatiques, des outils de débogage, etc.
  2. Configuration flexible - Le framework Scrapy fournit un grand nombre d'options de configuration qui peuvent être configurées de manière flexible en fonction des besoins spécifiques du robot.
  3. Facile à agrandir - La conception architecturale de Scrapy est très claire et peut être facilement étendue et développée secondairement.

2. Collecte de données sur les sites Web d'actualités

Pour la collecte de données sur les sites Web d'actualités, nous pouvons utiliser le framework Scrapy pour explorer les sites Web d'actualités. Ce qui suit prend le site Web Sina News comme exemple pour présenter l'utilisation du framework Scrapy.

  1. Créer un nouveau projet Scrapy

Entrez la commande suivante sur la ligne de commande pour créer un nouveau projet Scrapy :

scrapy startproject sina_news

Cette commande créera un nouveau projet Scrapy nommé sina_news dans le répertoire courant.

  1. Writing Spider

Dans le projet Scrapy nouvellement créé, vous pouvez implémenter l'exploration du Web en écrivant Spider. Dans Scrapy, Spider est une classe Python spéciale utilisée pour définir comment explorer les données d'un site Web. Voici un exemple de Spider pour un site d'actualités Sina :

import scrapy

class SinaNewsSpider(scrapy.Spider):
    name = 'sina_news'
    start_urls = [
        'https://news.sina.com.cn/', # 新浪新闻首页
    ]

    def parse(self, response):
        for news in response.css('div.news-item'):
            yield {
                'title': news.css('a::text').extract_first(),
                'link': news.css('a::attr(href)').extract_first(),
                'datetime': news.css('span::text').extract_first(),
            }
Copier après la connexion

Spider définit les règles d'exploration des sites d'actualités et la manière d'analyser les réponses. Dans le code ci-dessus, nous définissons un Spider nommé "sina_news" et spécifions l'URL de départ comme page d'accueil de Sina News. Dans le même temps, nous avons également défini une fonction d'analyse pour analyser la réponse du site Web.

Dans cette fonction d'analyse, nous utilisons la syntaxe CSS Selector pour extraire le titre, le lien et l'heure de publication de l'actualité, et renvoyer ces informations sous la forme d'un dictionnaire.

  1. Exécuter le Spider

Après avoir terminé l'écriture du Spider, nous pouvons exécuter le Spider et explorer les données. Entrez la commande suivante dans la ligne de commande :

scrapy crawl sina_news -o sina_news.json

Cette commande démarrera le Spider "sina_news" et enregistrera les données analysées dans un fichier JSON nommé sina_news.json.

3. Analyse des données du site d'actualités

Après avoir terminé la collecte de données, nous devons analyser les données collectées et en extraire des informations précieuses.

  1. Nettoyage des données

Lors de la collecte de données à grande échelle, vous rencontrez souvent des données bruyantes. Par conséquent, avant de procéder à l’analyse des données, nous devons nettoyer les données collectées. Ce qui suit utilise la bibliothèque Python Pandas comme exemple pour présenter comment effectuer le nettoyage des données.

Lisez les données d'actualités Sina collectées :

importez les pandas au format pd

df = pd.read_json('sina_news.json')

Maintenant, nous obtenons un ensemble de données de type DataFrame. En supposant qu'il y ait des données en double dans cet ensemble de données, nous pouvons utiliser la bibliothèque Pandas pour le nettoyage des données :

df.drop_duplicates(inplace=True)

La ligne de code ci-dessus supprimera les données en double dans l'ensemble de données.

  1. Analyse des données

Après le nettoyage des données, nous pouvons analyser davantage les données collectées. Voici quelques techniques d’analyse de données couramment utilisées.

(1) Analyse de mots clés

Nous pouvons comprendre les sujets d'actualité en effectuant une analyse de mots clés sur les titres d'actualité. Voici un exemple d'analyse de mots clés pour les titres d'actualités Sina :

from jieba.analyse import extract_tags

keywords = extract_tags(df['title'].to_string(), topK=20, withWeight=False, allowPOS=( ' ns', 'n'))
print(keywords)

Le code ci-dessus utilise la fonction extract_tags de la bibliothèque jieba pour extraire les 20 premiers mots-clés du titre de l'actualité.

(2) Analyse des séries chronologiques

Nous pouvons comprendre la tendance des événements d'actualité en comptant les titres d'actualité par ordre chronologique. Voici un exemple d'analyse de séries chronologiques de l'actualité Sina par mois :

df['datetime'] = pd.to_datetime(df['datetime'])
df = df.set_index('datetime')
df_month = df .resample('M').count()
print(df_month)

Le code ci-dessus convertit l'heure du communiqué de presse en type Datetime de Pandas et le définit comme index de l'ensemble de données. Nous avons ensuite utilisé la fonction de rééchantillonnage pour rééchantillonner les mois et calculer le nombre de communiqués de presse par mois.

(3) Classification basée sur l'analyse des sentiments

Nous pouvons classer les actualités en effectuant une analyse des sentiments sur les titres d'actualités. Voici un exemple d'analyse des sentiments sur Sina News :

from snownlp import SnowNLP

df['sentiment'] = df['title'].apply(lambda x: SnowNLP(x).sentiments)
positive_news = df [df['sentiment'] > 0.6]
negative_news = df[df['sentiment'] <= 0.4]
print('Nombre de nouvelles positives :', len(positive_news))
print('Nombre de nouvelles négatives : ', len(negative_news))

Le code ci-dessus utilise la bibliothèque SnowNLP pour l'analyse des sentiments et définit les nouvelles avec une valeur de sentiment supérieure à 0,6 comme des nouvelles positives, et les nouvelles avec une valeur de sentiment inférieure ou égale à 0,4 comme des nouvelles négatives.

4. Résumé

Cet article présente comment utiliser le framework Scrapy pour collecter des données de sites Web d'actualités et la bibliothèque Pandas pour le nettoyage et l'analyse des données. Le framework Scrapy fournit de puissantes fonctions de robot d'exploration Web capables d'analyser de grandes quantités de données rapidement et efficacement. La bibliothèque Pandas fournit de nombreuses fonctions de traitement de données et d'analyse statistique qui peuvent nous aider à extraire des informations précieuses à partir des données collectées. En utilisant ces outils, nous pouvons mieux comprendre les sujets d’actualité et en obtenir des informations utiles.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter des statistiques et des analyses de données dans Uniapp Comment implémenter des statistiques et des analyses de données dans Uniapp Oct 24, 2023 pm 12:37 PM

Comment implémenter les statistiques et l'analyse des données dans uniapp 1. Introduction générale Les statistiques et l'analyse des données constituent une partie très importante du processus de développement d'applications mobiles. Grâce aux statistiques et à l'analyse du comportement des utilisateurs, les développeurs peuvent avoir une compréhension approfondie des préférences et de l'utilisation des utilisateurs. habitudes. Optimisant ainsi la conception du produit et l’expérience utilisateur. Cet article présentera comment implémenter des statistiques de données et des fonctions d'analyse dans uniapp, et fournira quelques exemples de code spécifiques. 2. Choisissez les outils de statistiques et d'analyse de données appropriés. La première étape pour mettre en œuvre les statistiques et l'analyse de données dans uniapp consiste à choisir les outils de statistiques et d'analyse de données appropriés.

Analyse des raisons pour lesquelles le répertoire secondaire du CMS DreamWeaver ne peut pas être ouvert Analyse des raisons pour lesquelles le répertoire secondaire du CMS DreamWeaver ne peut pas être ouvert Mar 13, 2024 pm 06:24 PM

Titre : Analyse des raisons et des solutions pour lesquelles le répertoire secondaire de DreamWeaver CMS ne peut pas être ouvert. Dreamweaver CMS (DedeCMS) est un puissant système de gestion de contenu open source largement utilisé dans la construction de divers sites Web. Cependant, parfois pendant le processus de création d'un site Web, vous pouvez rencontrer une situation dans laquelle le répertoire secondaire ne peut pas être ouvert, ce qui perturbe le fonctionnement normal du site Web. Dans cet article, nous analyserons les raisons possibles pour lesquelles le répertoire secondaire ne peut pas être ouvert et fournirons des exemples de code spécifiques pour résoudre ce problème. 1. Analyse des causes possibles : Problème de configuration des règles pseudo-statiques : pendant l'utilisation

Analyse de cas d'application Python dans les systèmes de transport intelligents Analyse de cas d'application Python dans les systèmes de transport intelligents Sep 08, 2023 am 08:13 AM

Résumé de l'analyse de cas d'application de Python dans les systèmes de transport intelligents : Avec le développement rapide des systèmes de transport intelligents, Python, en tant que langage de programmation multifonctionnel, facile à apprendre et à utiliser, est largement utilisé dans le développement et l'application de systèmes de transport intelligents. Cet article démontre les avantages et le potentiel d'application de Python dans le domaine du transport intelligent en analysant les cas d'application de Python dans les systèmes de transport intelligents et en donnant des exemples de code pertinents. Introduction Le système de transport intelligent fait référence à l'utilisation de moyens de communication, d'information, de détection et d'autres moyens techniques modernes pour communiquer via

Notes d'étude PHP : robots d'exploration Web et collecte de données Notes d'étude PHP : robots d'exploration Web et collecte de données Oct 08, 2023 pm 12:04 PM

Notes d'étude PHP : Robot d'exploration Web et collecte de données Introduction : Un robot d'exploration Web est un outil qui explore automatiquement les données d'Internet. Il peut simuler le comportement humain, parcourir les pages Web et collecter les données requises. En tant que langage de script côté serveur populaire, PHP joue également un rôle important dans le domaine des robots d'exploration Web et de la collecte de données. Cet article explique comment écrire un robot d'exploration Web à l'aide de PHP et fournit des exemples de code pratiques. 1. Principes de base des robots d'exploration Web Les principes de base des robots d'exploration Web sont d'envoyer des requêtes HTTP, de recevoir et d'analyser la réponse H du serveur.

Analyse des performances du code ThinkPHP6 : localisation des goulots d'étranglement des performances Analyse des performances du code ThinkPHP6 : localisation des goulots d'étranglement des performances Aug 27, 2023 pm 01:36 PM

Analyse des performances du code ThinkPHP6 : localisation des goulots d'étranglement des performances Introduction : Avec le développement rapide d'Internet, une analyse plus efficace des performances du code est devenue de plus en plus importante pour les développeurs. Cet article explique comment utiliser ThinkPHP6 pour effectuer une analyse des performances du code afin de localiser et de résoudre les goulots d'étranglement des performances. Dans le même temps, nous utiliserons également des exemples de code pour aider les lecteurs à mieux comprendre. Importance de l'analyse des performances L'analyse des performances du code fait partie intégrante du processus de développement. En analysant les performances du code, nous pouvons comprendre où beaucoup de ressources sont consommées

Analyser si le langage de programmation principal de Tencent est Go Analyser si le langage de programmation principal de Tencent est Go Mar 27, 2024 pm 04:21 PM

Titre : Le principal langage de programmation de Tencent Go : Une analyse approfondie En tant que principale entreprise technologique chinoise, Tencent a toujours attiré beaucoup d’attention dans son choix de langages de programmation. Ces dernières années, certains pensent que Tencent adopte principalement Go comme principal langage de programmation. Cet article procédera à une analyse approfondie pour déterminer si le principal langage de programmation de Tencent est Go et donnera des exemples de code spécifiques pour étayer ce point de vue. 1. Application du langage Go dans Tencent Go est un langage de programmation open source développé par Google. Son efficacité, sa concurrence et sa simplicité sont appréciées par de nombreux développeurs.

Analyser les avantages et les inconvénients de la technologie de positionnement statique Analyser les avantages et les inconvénients de la technologie de positionnement statique Jan 18, 2024 am 11:16 AM

Analyse des avantages et des limites de la technologie de positionnement statique Avec le développement de la science et de la technologie modernes, la technologie de positionnement est devenue un élément indispensable de nos vies. La technologie de positionnement statique en fait partie. Elle présente des avantages et des limites uniques. Cet article procédera à une analyse approfondie de la technologie de positionnement statique pour mieux comprendre son état d'application actuel et ses tendances de développement futures. Examinons d’abord les avantages de la technologie de positionnement statique. La technologie de positionnement statique permet de déterminer les informations de position en observant, mesurant et calculant l'objet à positionner. Par rapport à d'autres technologies de positionnement,

Analyse des performances et stratégie d'optimisation du service TP6 Think-Swoole RPC Analyse des performances et stratégie d'optimisation du service TP6 Think-Swoole RPC Oct 12, 2023 am 10:34 AM

Analyse des performances et stratégies d'optimisation du service TP6Think-SwooleRPC Résumé : Cet article analyse principalement les performances des services TP6 et Think-SwooleRPC, et propose quelques stratégies d'optimisation. Tout d'abord, le temps de réponse, la simultanéité et le débit du service RPC ont été évalués au moyen de tests de performances. Ensuite, des solutions et pratiques correspondantes sont proposées sous deux aspects : l'optimisation des performances côté serveur et l'optimisation des performances côté client, y compris des exemples de code. Mots-clés : TP6, Think-Swoole, R

See all articles