Scrapy爬虫框架,入门案例

Scrapy 是一个用于抓取网站数据并提取结构化信息的强大框架,广泛应用于数据挖掘、信息处理或存储历史数据等领域。下面我将提供一个简单的入门案例,通过 Scrapy 来抓取一个网页上的标题和链接。假设我们要从一个新闻网站上抓取文章列表页的文章标题和对应的 URL。

步骤 1: 创建 Scrapy 项目

首先确保已经安装了 Scrapy 库。如果未安装,可以通过 pip 安装:


pip install scrapy

然后创建一个新的 Scrapy 项目:


scrapy startproject mySpider
cd mySpider

这里 mySpider 是你的项目名称。

步骤 2: 定义 Item

mySpider/items.py 文件中定义需要抓取的数据模型。例如:


import scrapy

class ArticleItem(scrapy.Item):
    title = scrapy.Field()
    link = scrapy.Field()

步骤 3: 编写 Spider

接着,在 spiders 目录下创建一个新的爬虫文件,比如 news_spider.py。这个文件里我们将编写爬虫逻辑来访问特定的网页,并解析出所需的信息:


import scrapy
from mySpider.items import ArticleItem

class NewsSpider(scrapy.Spider):
    name = 'news'
    allowed_domains = ['example.com']  # 替换为实际的目标域名
    start_urls = ['http://example.com/news/']  # 替换为实际要爬取的页面URL

    def parse(self, response):
        articles = response.css('div.article')  # 根据实际情况修改选择器
        for article in articles:
            item = ArticleItem()
            item['title'] = article.css('h2 a::text').get()  # 获取标题文本
            item['link'] = article.css('h2 a::attr(href)').get()  # 获取链接
            yield item

注意:上面代码中的 CSS 选择器(如 div.article, h2 a::text)需要根据目标网站的具体 HTML 结构进行调整。

步骤 4: 设置输出

为了让爬虫的结果能够保存下来,可以在项目的 settings.py 文件中设置输出格式。例如,使用 JSON 文件存储结果:


FEED_FORMAT = "json"
FEED_URI = "articles.json"

步骤 5: 运行爬虫

最后,在命令行中运行刚刚编写的爬虫:


scrapy crawl news

这将会执行名为 news 的爬虫,并将抓取到的数据保存至当前目录下的 articles.json 文件中。

以上就是一个基本的 Scrapy 入门示例。你可以根据自己的需求对爬虫进一步定制,比如添加更多的字段、处理分页等。希望这对您有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值