Rumah pembangunan bahagian belakang Tutorial Python Scrapy melaksanakan pengumpulan dan analisis data laman web berita

Scrapy melaksanakan pengumpulan dan analisis data laman web berita

Jun 22, 2023 pm 07:34 PM
menganalisis Pengumpulan data scrapy

Dengan perkembangan teknologi Internet yang berterusan, laman web berita telah menjadi cara utama orang ramai mendapatkan maklumat hal ehwal semasa. Cara cepat dan cekap mengumpul dan menganalisis data daripada laman web berita telah menjadi salah satu hala tuju penyelidikan penting dalam bidang Internet semasa. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Scrapy untuk melaksanakan pengumpulan dan analisis data di tapak web berita.

1. Pengenalan kepada rangka kerja Scrapy

Scrapy ialah rangka kerja perangkak web sumber terbuka yang ditulis dalam Python, yang boleh digunakan untuk mengekstrak data berstruktur daripada tapak web. Rangka kerja Scrapy adalah berdasarkan rangka kerja Twisted dan boleh merangkak sejumlah besar data dengan cepat dan cekap. Scrapy mempunyai ciri berikut:

  1. Ciri berkuasa - Scrapy menyediakan banyak ciri berguna, seperti permintaan dan pengendali tersuai, mekanisme automatik, alat nyahpepijat, dsb.
  2. Konfigurasi fleksibel - Rangka kerja Scrapy menyediakan sejumlah besar pilihan konfigurasi yang boleh dikonfigurasikan secara fleksibel mengikut keperluan perangkak tertentu.
  3. Mudah untuk dikembangkan - Reka bentuk seni bina Scrapy sangat jelas dan boleh dikembangkan dengan mudah dan dibangunkan secara sekunder.

2. Pengumpulan data laman web berita

Untuk pengumpulan data di laman web berita, kita boleh menggunakan rangka kerja Scrapy untuk merangkak laman web berita. Berikut mengambil laman web Sina News sebagai contoh untuk memperkenalkan penggunaan rangka kerja Scrapy.

  1. Buat projek Scrapy baharu

Masukkan arahan berikut pada baris arahan untuk mencipta projek Scrapy baharu:

scrapy startproject sina_news

Arahan ini akan mencipta projek Scrapy baharu bernama sina_news dalam direktori semasa.

  1. Menulis Spider

Dalam projek Scrapy yang baru dibuat, anda boleh melaksanakan rangkak web dengan menulis Spider. Dalam Scrapy, Spider ialah kelas Python khas yang digunakan untuk menentukan cara merangkak data tapak web. Berikut ialah contoh laman web berita Spider for a 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(),
            }
Salin selepas log masuk

Spider mentakrifkan peraturan untuk merangkak tapak web berita dan cara menghuraikan respons. Dalam kod di atas, kami mentakrifkan Spider bernama "sina_news" dan menentukan URL permulaan sebagai halaman utama Berita Sina. Pada masa yang sama, kami juga menentukan fungsi parse untuk menghuraikan respons tapak web.

Dalam fungsi parse ini, kami menggunakan sintaks Pemilih CSS untuk mengekstrak tajuk, pautan dan masa penerbitan berita dan mengembalikan maklumat ini dalam bentuk kamus.

  1. Run the Spider

Selepas melengkapkan penulisan Spider, kita boleh menjalankan Spider dan merangkak data. Masukkan arahan berikut dalam baris arahan:

scrapy crawl sina_news -o sina_news.json

Arahan ini akan memulakan "sina_news" Spider dan menyimpan data yang dirangkak ke fail bernama sina_news .json fail JSON.

3. Analisis data laman web berita

Selepas melengkapkan pengumpulan data, kami perlu menganalisis data yang dikumpul dan mengekstrak maklumat berharga daripadanya.

  1. Pembersihan Data

Apabila mengumpul data secara besar-besaran, anda sering menghadapi beberapa data yang bising. Oleh itu, sebelum menjalankan analisis data, kita perlu membersihkan data yang dikumpul. Berikut menggunakan perpustakaan Python Pandas sebagai contoh untuk memperkenalkan cara melakukan pembersihan data.

Baca data berita Sina yang dikumpul:

import panda sebagai pd

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

Sekarang Kami mendapat set data jenis DataFrame. Dengan mengandaikan bahawa terdapat beberapa data pendua dalam set data ini, kami boleh menggunakan pustaka Pandas untuk pembersihan data:

df.drop_duplicates(inplace=True)

Barisan kod di atas akan memadamkan data pendua dalam set data .

  1. Analisis Data

Selepas pembersihan data, kami boleh menganalisis data yang dikumpul selanjutnya. Berikut adalah beberapa teknik analisis data yang biasa digunakan.

(1) Analisis kata kunci

Kita boleh memahami topik hangat semasa dengan menjalankan analisis kata kunci pada tajuk berita. Berikut ialah contoh analisis kata kunci pada tajuk berita Sina:

dari jieba.analyse import extract_tags

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

Kod di atas menggunakan fungsi extract_tags pustaka jieba untuk mengekstrak 20 kata kunci tajuk berita teratas.

(2) Analisis siri masa

Kita boleh memahami arah aliran peristiwa berita dengan mengira tajuk berita dalam susunan kronologi. Berikut ialah contoh analisis siri masa berita Sina mengikut bulan:

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

Kod di atas menukar masa keluaran berita kepada jenis Datetime Pandas dan Tetapkan kepada indeks daripada set data. Kami kemudian menggunakan fungsi sampel semula untuk sampel semula bulan dan mengira bilangan siaran berita setiap bulan.

(3) Klasifikasi berdasarkan analisis sentimen

Kami boleh mengklasifikasikan berita dengan melakukan analisis sentimen pada tajuk berita. Berikut ialah contoh analisis sentimen mengenai berita Sina:

daripada import snownlp SnowNLP

df['sentimen'] = df['title'].apply(lambda x: SnowNLP(x ).sentimen)
berita_positif = df[df['sentimen'] > 0.6]
berita_negatif = df[df['sentimen'] <= 0.4]
cetak('Kiraan Berita Positif:' , len(berita_positif))
cetak('Kiraan Berita Negatif:', len(berita_negatif))

Kod di atas menggunakan perpustakaan SnowNLP untuk analisis sentimen dan mentakrifkan berita dengan nilai sentimen lebih daripada 0.6 sebagai berita positif dan berita dengan nilai sentimen kurang daripada atau sama dengan 0.4 sebagai berita negatif.

4. Ringkasan

Artikel ini memperkenalkan cara menggunakan rangka kerja Scrapy untuk mengumpul data tapak web berita dan pustaka Pandas untuk pembersihan dan analisis data. Rangka kerja Scrapy menyediakan fungsi perangkak web yang berkuasa yang boleh merangkak sejumlah besar data dengan cepat dan cekap. Pustaka Pandas menyediakan banyak pemprosesan data dan fungsi analisis statistik yang boleh membantu kami mengekstrak maklumat berharga daripada data yang dikumpul. Dengan menggunakan alatan ini, kita boleh lebih memahami topik hangat semasa dan mendapatkan maklumat berguna daripadanya.

Atas ialah kandungan terperinci Scrapy melaksanakan pengumpulan dan analisis data laman web berita. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara melaksanakan statistik dan analisis data dalam uniapp Cara melaksanakan statistik dan analisis data dalam uniapp Oct 24, 2023 pm 12:37 PM

Cara melaksanakan statistik dan analisis data dalam uniapp 1. Pengenalan latar belakang Statistik dan analisis data merupakan bahagian yang sangat penting dalam proses pembangunan aplikasi mudah alih Melalui statistik dan analisis tingkah laku pengguna, pembangun boleh mempunyai pemahaman yang mendalam tentang pilihan dan penggunaan pengguna. tabiat. Dengan itu mengoptimumkan reka bentuk produk dan pengalaman pengguna. Artikel ini akan memperkenalkan cara melaksanakan statistik data dan fungsi analisis dalam uniapp, dan menyediakan beberapa contoh kod khusus. 2. Pilih statistik data dan alat analisis yang sesuai Langkah pertama untuk melaksanakan statistik dan analisis data dalam uniapp ialah memilih statistik data dan alat analisis.

Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Mar 13, 2024 pm 06:24 PM

Tajuk: Analisis sebab dan penyelesaian mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Dreamweaver CMS (DedeCMS) ialah sistem pengurusan kandungan sumber terbuka yang berkuasa yang digunakan secara meluas dalam pembinaan pelbagai laman web. Walau bagaimanapun, kadangkala semasa proses membina tapak web, anda mungkin menghadapi situasi di mana direktori sekunder tidak boleh dibuka, yang membawa masalah kepada operasi biasa tapak web. Dalam artikel ini, kami akan menganalisis kemungkinan sebab mengapa direktori sekunder tidak boleh dibuka dan memberikan contoh kod khusus untuk menyelesaikan masalah ini. 1. Analisis sebab yang mungkin: Masalah konfigurasi peraturan pseudo-statik: Semasa penggunaan

Analisis kes aplikasi Python dalam sistem pengangkutan pintar Analisis kes aplikasi Python dalam sistem pengangkutan pintar Sep 08, 2023 am 08:13 AM

Ringkasan analisis kes aplikasi Python dalam sistem pengangkutan pintar: Dengan perkembangan pesat sistem pengangkutan pintar, Python, sebagai bahasa pengaturcaraan berbilang fungsi, mudah dipelajari dan digunakan, digunakan secara meluas dalam pembangunan dan aplikasi sistem pengangkutan pintar. Artikel ini menunjukkan kelebihan dan potensi aplikasi Python dalam bidang pengangkutan pintar dengan menganalisis kes aplikasi Python dalam sistem pengangkutan pintar dan memberikan contoh kod yang berkaitan. Pengenalan Sistem pengangkutan pintar merujuk kepada penggunaan komunikasi moden, maklumat, penderiaan dan cara teknikal lain untuk berkomunikasi melalui

Nota kajian PHP: perangkak web dan pengumpulan data Nota kajian PHP: perangkak web dan pengumpulan data Oct 08, 2023 pm 12:04 PM

Nota kajian PHP: Perangkak web dan pengumpulan data Pengenalan: Perangkak web ialah alat yang secara automatik merangkak data daripada Internet Ia boleh mensimulasikan tingkah laku manusia, menyemak imbas halaman web dan mengumpul data yang diperlukan. Sebagai bahasa skrip sebelah pelayan yang popular, PHP juga memainkan peranan penting dalam bidang perangkak web dan pengumpulan data. Artikel ini akan menerangkan cara menulis perangkak web menggunakan PHP dan memberikan contoh kod praktikal. 1. Prinsip asas perangkak web Prinsip asas perangkak web adalah untuk menghantar permintaan HTTP, menerima dan menghuraikan respons H pelayan.

Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Mar 27, 2024 pm 04:21 PM

Tajuk: Adakah bahasa pengaturcaraan utama Tencent Go: Analisis mendalam Sebagai syarikat teknologi terkemuka di China, Tencent sentiasa menarik banyak perhatian dalam pilihan bahasa pengaturcaraannya. Dalam beberapa tahun kebelakangan ini, sesetengah orang percaya bahawa Tencent menggunakan Go sebagai bahasa pengaturcaraan utamanya. Artikel ini akan menjalankan analisis mendalam sama ada bahasa pengaturcaraan utama Tencent ialah Go dan memberikan contoh kod khusus untuk menyokong pandangan ini. 1. Aplikasi bahasa Go dalam Tencent Go ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Kecekapan, kesesuaian dan kesederhanaannya disukai oleh banyak pembangun.

Analisis prestasi kod ThinkPHP6: mengesan kesesakan prestasi Analisis prestasi kod ThinkPHP6: mengesan kesesakan prestasi Aug 27, 2023 pm 01:36 PM

Analisis prestasi kod ThinkPHP6: mengesan kesesakan prestasi Pengenalan: Dengan perkembangan pesat Internet, analisis prestasi kod yang lebih cekap telah menjadi semakin penting bagi pembangun. Artikel ini akan memperkenalkan cara menggunakan ThinkPHP6 untuk melaksanakan analisis prestasi kod untuk mencari dan menyelesaikan kesesakan prestasi. Pada masa yang sama, kami juga akan menggunakan contoh kod untuk membantu pembaca memahami dengan lebih baik. Kepentingan Analisis Prestasi Analisis prestasi kod adalah bahagian penting dalam proses pembangunan. Dengan menganalisis prestasi kod, kita boleh memahami di mana banyak sumber digunakan

Menganalisis kelebihan dan kekurangan teknologi kedudukan statik Menganalisis kelebihan dan kekurangan teknologi kedudukan statik Jan 18, 2024 am 11:16 AM

Analisis kelebihan dan had teknologi penentududukan statik Dengan perkembangan teknologi moden, teknologi penentududukan telah menjadi bahagian yang amat diperlukan dalam kehidupan kita. Sebagai salah satu daripadanya, teknologi kedudukan statik mempunyai kelebihan dan batasannya yang unik. Artikel ini akan menjalankan analisis mendalam tentang teknologi kedudukan statik untuk lebih memahami status aplikasi semasa dan aliran pembangunan masa depannya. Mula-mula, mari kita lihat kelebihan teknologi kedudukan statik. Teknologi kedudukan statik mencapai penentuan maklumat kedudukan dengan memerhati, mengukur dan mengira objek yang akan diletakkan. Berbanding dengan teknologi penentududukan lain,

Analisis prestasi dan strategi pengoptimuman perkhidmatan TP6 Think-Swoole RPC Analisis prestasi dan strategi pengoptimuman perkhidmatan TP6 Think-Swoole RPC Oct 12, 2023 am 10:34 AM

Analisis prestasi dan strategi pengoptimuman perkhidmatan TP6Think-SwooleRPC Ringkasan: Artikel ini terutamanya menganalisis prestasi perkhidmatan TP6 dan Think-SwooleRPC, dan mencadangkan beberapa strategi pengoptimuman. Pertama, masa tindak balas, konkurensi dan daya tampung perkhidmatan RPC telah dinilai melalui ujian prestasi. Kemudian, penyelesaian dan amalan yang sepadan dicadangkan daripada dua aspek: pengoptimuman prestasi bahagian pelayan dan pengoptimuman prestasi pihak pelanggan, termasuk contoh kod. Kata kunci: TP6, Think-Swoole, R

See all articles