iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
自我挑戰組

30天認識爬蟲系列 第 19

[Day19] 實作:抓取新聞網站標題

  • 分享至 

  • xImage
  •  

今天是第十九天,我們來使用Scrapy來抓取一個新聞網站的標題。這將幫助我們了解如何應用Scrapy的基本功能來提取特定數據。

  1. 創建Scrapy項目
    首先確保已經安裝Scrapy,如果還未安裝,可以通過以下命令進行安裝:
pip install scrapy

接著,創建一個新的Scrapy項目:

scrapy startproject news_scraper
cd news_scraper

  1. 創建爬蟲
    在項目中創建一個新的爬蟲,這裡以抓取https://news.ycombinator.com/(Hacker News)為例:
scrapy genspider news_spider news.ycombinator.com

這將在spiders文件夾中創建一個名為news_spider.py的文件。
3. 編寫爬蟲代碼
打開news_spider.py,並編輯代碼以抓取新聞標題:

import scrapy

class NewsSpider(scrapy.Spider):
    name = 'news_spider'
    start_urls = ['https://news.ycombinator.com/']

    def parse(self, response):
        # 抓取所有標題
        for article in response.css('.storylink'):
            yield {
                'title': article.css('::text').get(),
                'link': article.attrib['href'],
            }

這段代碼將遍歷每個新聞標題,並將其標題和連結提取出來。
4. 運行爬蟲
在終端中運行爬蟲,並將結果輸出到JSON文件:

scrapy crawl news_spider -o news_titles.json

  1. 查看結果
    運行後,檢查生成的news_titles.json文件,能看到抓取到的新聞標題及其連結。

總結:
今天我們學習了如何使用Scrapy抓取新聞網站的標題。這只是Scrapy的一個簡單應用,未來可以進一步擴展功能,例如抓取更多頁面或提取其他信息,同時通過實作會發現Scrapy的強大!


上一篇
[Day18] Scrapy快速上手
下一篇
[Day20] Selenium入門
系列文
30天認識爬蟲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言