今天是第十九天,我們來使用Scrapy來抓取一個新聞網站的標題。這將幫助我們了解如何應用Scrapy的基本功能來提取特定數據。
pip install scrapy
接著,創建一個新的Scrapy項目:
scrapy startproject news_scraper
cd news_scraper
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
總結:
今天我們學習了如何使用Scrapy抓取新聞網站的標題。這只是Scrapy的一個簡單應用,未來可以進一步擴展功能,例如抓取更多頁面或提取其他信息,同時通過實作會發現Scrapy的強大!