Rumah pembangunan bahagian belakang Tutorial Python Scrapy dalam tindakan: merangkak data berita Baidu

Scrapy dalam tindakan: merangkak data berita Baidu

Jun 23, 2023 am 08:50 AM
berita Merangkak scrapy

Scrapy in action: Crawl Baidu news data

Dengan perkembangan Internet, cara utama orang ramai mendapatkan maklumat telah beralih daripada media tradisional kepada Internet, dan orang ramai semakin bergantung pada Internet untuk mendapatkan maklumat berita. Bagi penyelidik atau penganalisis, sejumlah besar data diperlukan untuk analisis dan penyelidikan. Oleh itu, artikel ini akan memperkenalkan cara menggunakan Scrapy untuk merangkak data berita Baidu.

Scrapy ialah rangka kerja perangkak Python sumber terbuka yang boleh merangkak data tapak web dengan cepat dan cekap. Scrapy menyediakan fungsi penghuraian dan rangkak halaman web yang berkuasa, serta kebolehskalaan yang baik dan tahap penyesuaian yang tinggi.

Langkah 1: Pasang Scrapy

Sebelum bermula, anda perlu memasang Scrapy dan beberapa perpustakaan lain. Pemasangan boleh diselesaikan melalui arahan berikut:

pip install scrapy
pip install requests
pip install bs4
Salin selepas log masuk

Langkah 2: Buat projek Scrapy

Buat projek Scrapy melalui arahan berikut:

scrapy startproject baiduNews
Salin selepas log masuk

Selepas arahan itu dilaksanakan, Folder bernama baiduNews akan dibuat dalam direktori semasa, yang mengandungi struktur awal projek Scrapy.

Langkah 3: Tulis Spider

Dalam Scrapy, Spider ialah pemproses yang digunakan untuk merangkak kandungan web. Kita perlu menulis Spider untuk mendapatkan data daripada laman web Berita Baidu. Pertama, kita perlu mencipta folder labah-labah dalam direktori akar projek dan mencipta fail Python di dalamnya agar sesuai dengan templat Spider.

import scrapy

class BaiduSpider(scrapy.Spider):
    name = "baidu"
    start_urls = [
        "http://news.baidu.com/"
    ]

    def parse(self, response):
        pass
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mengimport perpustakaan Scrapy dan mencipta kelas yang dipanggil BaiduSpider. Dalam kelas, kami mentakrifkan pembolehubah start_urls, iaitu senarai yang mengandungi URL Berita Baidu. Kaedah parse ialah fungsi teras untuk melaksanakan penangkapan data Di sini, kita hanya menentukan fungsi kosong. Sekarang, kita perlu menentukan templat untuk mendapatkan data berita.

import scrapy
from baiduNews.items import BaidunewsItem
from bs4 import BeautifulSoup

class BaiduSpider(scrapy.Spider):
    name = "baidu"
    start_urls = [
        "http://news.baidu.com/"
    ]

    def parse(self, response):
        soup = BeautifulSoup(response.body, "html.parser")

        results = soup.find_all("div", class_="hdline_article_tit")
        for res in results:
            item = BaidunewsItem()
            item["title"] = res.a.string.strip()
            item["url"] = res.a.get("href").strip()
            item["source"] = "百度新闻"
            yield item
Salin selepas log masuk

Dalam kod di atas, kami menemui semua elemen dengan kelas hdline_article_tit, yang merupakan tajuk utama Berita Baidu. Kami kemudian menggunakan BeautifulSoup untuk menghuraikan halaman dan mencipta objek kelas BaidunewsItem dalam gelung. Akhir sekali, kami mengembalikan data melalui pernyataan hasil.

Langkah 4: Tentukan Item

Dalam Scrapy, Item digunakan untuk mentakrifkan struktur data yang ditangkap. Kita perlu menentukan templat Item dalam fail items.py dalam projek.

import scrapy

class BaidunewsItem(scrapy.Item):
    title = scrapy.Field()
    url = scrapy.Field()
    source = scrapy.Field()
Salin selepas log masuk

Langkah 5: Mulakan Spider dan data output

Kita hanya perlu menjalankan arahan berikut untuk memulakan Spider dan data output:

scrapy crawl baidu -o baiduNews.csv
Salin selepas log masuk

Selepas arahan dilaksanakan, Cipta fail bernama baiduNews.csv dalam direktori akar projek, yang mengandungi semua data berita yang dirangkak.

Ringkasan

Dengan Scrapy, kami boleh mendapatkan data berita Baidu dengan cepat dan cekap serta menyimpannya secara setempat. Scrapy mempunyai kebolehskalaan yang baik dan menyokong output dalam berbilang format data. Artikel ini hanya memperkenalkan senario aplikasi mudah Scrapy, tetapi Scrapy masih mempunyai banyak fungsi berkuasa yang menunggu untuk kita terokai.

Atas ialah kandungan terperinci Scrapy dalam tindakan: merangkak data berita Baidu. 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
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu 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)

Pengikisan metadata menggunakan New York Times API Pengikisan metadata menggunakan New York Times API Sep 02, 2023 pm 10:13 PM

Pengenalan Minggu lepas, saya menulis pengenalan tentang mengikis halaman web untuk mengumpul metadata, dan menyebut bahawa adalah mustahil untuk mengikis laman web New York Times. The New York Times paywall menyekat percubaan anda untuk mengumpul metadata asas. Tetapi ada cara untuk menyelesaikan masalah ini menggunakan API New York Times. Baru-baru ini saya mula membina tapak web komuniti pada platform Yii, yang akan saya terbitkan dalam tutorial akan datang. Saya mahu dapat menambahkan pautan yang berkaitan dengan kandungan tapak dengan mudah. Walaupun orang ramai boleh menampal URL ke dalam borang dengan mudah, memberikan tajuk dan maklumat sumber memakan masa. Jadi dalam tutorial hari ini saya akan melanjutkan kod mengikis yang saya tulis baru-baru ini untuk memanfaatkan New York Times API untuk mengumpulkan tajuk berita apabila menambah pautan ke New York Times. Ingat, saya terlibat

Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Jun 22, 2023 am 09:41 AM

Scrapy melaksanakan rangkak artikel dan analisis akaun awam WeChat WeChat ialah aplikasi media sosial yang popular dalam beberapa tahun kebelakangan ini, dan akaun awam yang dikendalikan di dalamnya juga memainkan peranan yang sangat penting. Seperti yang kita sedia maklum, akaun awam WeChat adalah lautan maklumat dan pengetahuan, kerana setiap akaun awam boleh menerbitkan artikel, mesej grafik dan maklumat lain. Maklumat ini boleh digunakan secara meluas dalam banyak bidang, seperti laporan media, penyelidikan akademik, dsb. Jadi, artikel ini akan memperkenalkan cara menggunakan rangka kerja Scrapy untuk merangkak dan menganalisis artikel akaun awam WeChat. Scr

Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn Jun 23, 2023 am 10:04 AM

Scrapy ialah rangka kerja perangkak berasaskan Python yang boleh mendapatkan maklumat berkaitan dengan cepat dan mudah di Internet. Dalam artikel ini, kami akan menggunakan kes Scrapy untuk menganalisis secara terperinci cara merangkak maklumat syarikat di LinkedIn. Tentukan URL sasaran Mula-mula, kita perlu menjelaskan dengan jelas bahawa sasaran kita ialah maklumat syarikat di LinkedIn. Oleh itu, kita perlu mencari URL halaman maklumat syarikat LinkedIn. Buka laman web LinkedIn, masukkan nama syarikat dalam kotak carian, dan

Kaedah pelaksanaan pemuatan asynchronous Scrapy berdasarkan Ajax Kaedah pelaksanaan pemuatan asynchronous Scrapy berdasarkan Ajax Jun 22, 2023 pm 11:09 PM

Scrapy ialah rangka kerja perangkak Python sumber terbuka yang boleh mendapatkan data daripada tapak web dengan cepat dan cekap. Walau bagaimanapun, banyak tapak web menggunakan teknologi pemuatan tak segerak Ajax, menjadikannya mustahil untuk Scrapy mendapatkan data secara langsung. Artikel ini akan memperkenalkan kaedah pelaksanaan Scrapy berdasarkan pemuatan tak segerak Ajax. 1. Prinsip pemuatan tak segerak Ajax Pemuatan tak segerak Ajax: Dalam kaedah pemuatan halaman tradisional, selepas pelayar menghantar permintaan kepada pelayan, ia mesti menunggu pelayan mengembalikan respons dan memuatkan keseluruhan halaman sebelum meneruskan ke langkah seterusnya.

Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? Sep 05, 2023 am 08:41 AM

Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? 1. Pengenalan Dalam projek PHP, kita selalunya perlu merangkak data dari tapak web lain dan memproses data ini. Banyak tapak web menyediakan antara muka API, dan kami boleh mendapatkan data dengan memanggil antara muka ini. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memanggil antara muka API untuk merangkak dan memproses data. 2. Dapatkan URL dan parameter antara muka API Sebelum memulakan, kita perlu mendapatkan URL antara muka API sasaran dan parameter yang diperlukan.

Petua pengoptimuman buruk: Cara mengurangkan rangkak URL pendua dan meningkatkan kecekapan Petua pengoptimuman buruk: Cara mengurangkan rangkak URL pendua dan meningkatkan kecekapan Jun 22, 2023 pm 01:57 PM

Scrapy ialah rangka kerja perangkak Python yang berkuasa yang boleh digunakan untuk mendapatkan sejumlah besar data daripada Internet. Walau bagaimanapun, apabila membangunkan Scrapy, kami sering menghadapi masalah merangkak URL pendua, yang membuang banyak masa dan sumber serta menjejaskan kecekapan. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman Scrapy untuk mengurangkan rangkak URL pendua dan meningkatkan kecekapan perangkak Scrapy. 1. Gunakan atribut start_urls dan allowed_domains dalam perangkak Scrapy untuk

Bagaimana untuk membuka kandungan berita dan minat pada Windows 10 Bagaimana untuk membuka kandungan berita dan minat pada Windows 10 Jan 13, 2024 pm 05:54 PM

Bagi pengguna yang sangat meminati sistem pengendalian Windows 10, mereka pasti menyedari fungsi pengesyoran maklumat dan minat yang dibentangkan di sudut kanan bawah desktop mereka. Ciri ini akan menunjukkan kepada anda semua jenis maklumat berita yang menarik pada masa yang tepat Walau bagaimanapun, sesetengah pengguna mungkin merasa terlalu rumit dan memilih untuk mematikannya, sebaliknya sesetengah pengguna memilih untuk mengekalkannya. Pada masa ini, anda boleh menggunakan langkah terperinci berikut untuk melaraskan tetapan ini dengan mudah pada bila-bila masa dan di mana-mana sahaja. Cara membuka berita dan minat dalam win10 1. Pertama tekan win+R dan kemudian masukkan "winver" dan tekan Enter Kemudian anda boleh menyemak maklumat versi komputer anda untuk mengesahkan sama ada ia adalah versi 21h1. 2. Klik kanan pada bar tugas dan pilih "Maklumat dan Minat" 3. Di sini

Menggunakan Selenium dan PhantomJS dalam perangkak Scrapy Menggunakan Selenium dan PhantomJS dalam perangkak Scrapy Jun 22, 2023 pm 06:03 PM

Menggunakan Selenium dan PhantomJSScrapy dalam perangkak Scrapy Scrapy ialah rangka kerja perangkak web yang sangat baik di bawah Python dan telah digunakan secara meluas dalam pengumpulan dan pemprosesan data dalam pelbagai bidang. Dalam pelaksanaan perangkak, kadangkala perlu untuk mensimulasikan operasi penyemak imbas untuk mendapatkan kandungan yang dibentangkan oleh tapak web tertentu Dalam kes ini, Selenium dan PhantomJS diperlukan. Selenium mensimulasikan operasi manusia pada penyemak imbas, membolehkan kami mengautomasikan ujian aplikasi web

See all articles