溫馨提示×

python爬蟲scrapy框架如何用

小樊
81
2024-11-20 03:49:08
欄目: 編程語言

Scrapy是一個強大的Python爬蟲框架,用于從網(wǎng)站上抓取數(shù)據(jù)。要開始使用Scrapy,請按照以下步驟操作:

  1. 安裝Scrapy:

在命令行中輸入以下命令以安裝Scrapy:

pip install scrapy
  1. 創(chuàng)建一個新的Scrapy項目:

在命令行中,導航到您希望創(chuàng)建項目的目錄,然后輸入以下命令:

scrapy startproject my_project

my_project替換為您希望使用的項目名稱。這將在當前目錄下創(chuàng)建一個名為my_project的新文件夾,其中包含Scrapy項目的基本結(jié)構(gòu)。

  1. 創(chuàng)建一個新的爬蟲:

在項目文件夾中,輸入以下命令以創(chuàng)建一個名為my_spider的新爬蟲:

cd my_project
scrapy genspider my_spider example.com

my_spider替換為您希望使用的爬蟲名稱,將example.com替換為您希望抓取的網(wǎng)站域名。這將在spiders文件夾中創(chuàng)建一個名為my_spider.py的新文件,其中包含爬蟲的基本代碼。

  1. 編寫爬蟲代碼:

打開my_project/spiders/my_spider.py文件并編輯其內(nèi)容。以下是一個簡單的爬蟲示例:

import scrapy

class MySpider(scrapy.Spider):
    name = 'my_spider'
    start_urls = ['http://example.com/']

    def parse(self, response):
        self.log('Visited %s' % response.url)
        for quote in response.css('div.quote'):
            item = {
                'author_name': quote.css('span.text::text').extract_first(),
                'author_url': quote.xpath('span/small/a/@href').extract_first(),
                'text': quote.css('div.text::text').extract_first(),
            }
            yield item

這個爬蟲從http://example.com/開始抓取,并從中提取作者姓名、作者網(wǎng)址和文本。

  1. 運行爬蟲:

在項目文件夾中,輸入以下命令以運行剛剛創(chuàng)建的爬蟲:

scrapy crawl my_spider

這將啟動爬蟲并開始抓取數(shù)據(jù)。您可以在命令行中查看爬蟲的輸出,也可以將輸出保存到文件中。

  1. 保存數(shù)據(jù):

Scrapy支持將抓取到的數(shù)據(jù)保存到不同的格式,例如JSON、CSV或XML。要將數(shù)據(jù)保存到文件,請在運行爬蟲時添加-o選項,如下所示:

scrapy crawl my_spider -o output.json

這將把抓取到的數(shù)據(jù)保存到名為output.json的文件中。

這只是Scrapy的基本用法。Scrapy還提供了許多高級功能,如中間件、選擇器、管道等,以滿足更復雜的爬蟲需求。要了解更多關于Scrapy的信息,請參閱官方文檔:https://docs.scrapy.org/

0