Scrapy入门-爬取books.toscrape.com

  1. 创建项目与爬虫
    在这里插入图片描述
  2. 查看网页源码并分析
  • 分析须爬取内容
  • 内容位于网页中的位置
  1. 封装Item
    根据分析需要爬取内容建立Item对象
    在这里插入图片描述
  2. 查看内容位于网页中的位置,并用scrapy shell测试是否能正常获取所需要的值
    在这里插入图片描述
    获取成功 LinkExtractor方法可以成功获取链接
    在这里插入图片描述
  3. 以此方法建立解析函数 prase
    在这里插入图片描述
  4. 根据第二、第三点步骤分析得出单一书本页面需爬取内容与页面位置
    如:
    书名
    在这里插入图片描述
    评价等级
    在这里插入图片描述
    再次进入shell中测试
    在这里插入图片描述
  5. 根据一切方法匹配到值
    在这里插入图片描述
    别忘记将Item yield出去
yield book
  1. 此时,一页所有书本链接与一本书中的获取值已实现
    需实现下一页跳转方法
    实现思路:获取下一页url(网页拼接urljoin()方法或者LinkExtractor)→ callback返回实现跳转
    在这里插入图片描述
  2. 建立主函数运行并输出结果
    在这里插入图片描述
    结果:(success)
    在这里插入图片描述
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Scrapy 框架和 XPath 选择器来 www.runoob.com 网页图片,具体步骤如下: 1. 创建 Scrapy 项目并定义 Item 在命令行中输入以下命令,创建一个名为 `runoob` 的 Scrapy 项目: ``` scrapy startproject runoob ``` 然后在 `runoob` 项目文件夹下的 `items.py` 文件中定义 `RunoobItem`,用于存储到的图片信息: ```python import scrapy class RunoobItem(scrapy.Item): image_urls = scrapy.Field() images = scrapy.Field() ``` 2. 创建 Spider 并编写虫逻辑 在 `runoob` 项目文件夹下的 `spiders` 文件夹中创建名为 `image_spider.py` 的文件,并编写如下代码: ```python import scrapy from runoob.items import RunoobItem class ImageSpider(scrapy.Spider): name = 'image_spider' allowed_domains = ['www.runoob.com'] start_urls = ['https://www.runoob.com/'] def parse(self, response): item = RunoobItem() # 提所有图片链接 item['image_urls'] = response.xpath('//img/@src').extract() yield item ``` 在 `ImageSpider` 中,我们首先定义了虫的名称 `name`、允许的域名 `allowed_domains` 和起始的 URL 列表 `start_urls`。然后在 `parse` 方法中使用 XPath 选择器提页面中所有的图片链接,并将其存储到 `item` 中。最后使用 `yield` 将 `item` 传递给 Scrapy 引擎。 3. 配置 Scrapy Pipeline 在 `runoob` 项目文件夹下的 `settings.py` 文件中,添加如下配置: ```python ITEM_PIPELINES = {'scrapy.pipelines.images.ImagesPipeline': 1} IMAGES_STORE = 'images/' ``` 在这里我们使用 Scrapy 内置的 `ImagesPipeline` 来下载图片,并将下载的图片保存到 `images/` 目录下。 4. 运行虫 在命令行中进入 `runoob` 项目文件夹,输入以下命令启动虫: ``` scrapy crawl image_spider ``` Scrapy 就会自动 www.runoob.com 页面中的所有图片,并将其下载到 `images/full/` 目录下。 注意:如果运行过程中出现错误,可以尝试安装 Pillow 库(用于处理图片),并重启命令行窗口再次运行虫: ``` pip install Pillow ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值