Scrapy(一)安装&简单实用

mac2025-09-01  9

Scrapy(一)安装&简单实用

环境安装 Scrapy创建项目编写项目运行项目

环境

Python 3.7.4pip 19.3.1Scrapy 1.8.0

安装 Scrapy

// 使用 pip 命令查看 python包的安装目录 pip --version // c:\users\eminxta\appdata\local\programs\python\python37-32\lib\site-packages\ // 查看目录下有没有 Scrapy 包 // 安装命令 pip install scrapy // 安装完之后会看到依赖了很多包

创建项目

scrapy startproject scrapyone

目录结构

编写项目

编写一个 spider 去获取网站 quotes.toscrape.com 的内容打开 quotes.toscrape.com 网站观察 html 源码,关键信息是:(1)名言,(2)作者,(3)标签,(4)下一页。需求是获取所有关键信息,并且自动获取下一页 // 名言 <div class="quote" ... <span class="text" ... "名言XXXX" // 作者 <span> <small class="author"> timing // 标签 <div class="tags"> <a class="tag" href="XXXX"> <a class="tag" href="xxxx"> // 下一页 <nav> <ul class="pager"> <li class="next"> <a href="下一页"> 添加文件 /spiders/quotes_spider.py import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" start_urls = [ 'http://quotes.toscrape.com/page/1/' ] def parse(self, response): for quote in response.css('div.quote'): yield { 'text': quote.css('span.text::text').extract_first(), 'author': quote.css('small.author::text').extract_first(), 'tags': quote.css('div.tags a.tag::text').extract_first(), } next_page = response.css('li.next a::attr(href)').extract_first() if next_page is not None: next_page = response.urljoin(next_page) yield scrapy.Request(next_page, callback=self.parse)

运行项目

在项目的根目录 /scrapyone 运行一下命令

//命令, 指定 spider 的名字, 输出结果 scrapy crawl quotes -o quotes.json

在当前项目目录下会有个一个 quotes.json 的结果文件

最新回复(0)