Scrapy框架——全栈爬取

原文件下载路径:
【网络爬虫技术】基于Scrapy框架的全站数据抓取:汽车之家二手车信息采集系统设计与实现
【Web爬虫技术】基于Scrapy框架的CrawlSpider爬虫规则配置与应用:自动化分页抓取系统设计

scrapy的crawlspider爬虫

学习目标:
  1. 了解 crawlspider的作用
  2. 应用 crawlspider爬虫创建的方法
  3. 应用 crawlspider中rules的使用

1、crawlspider是什么

回顾之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址上面,这个过程能更简单一些么?

思路:
  1. 从response中提取所有的满足规则的url地址
  2. 自动的构造自己requests请求,发送给引擎

对应的crawlspider就可以实现上述需求,能够匹配满足条件的url地址,组装成Reuqest对象后自动发送给引擎,同时能够指定callback函数

即:crawlspider爬虫可以按照规则自动获取连接

2、crawlspider豆瓣TOP250爬虫

通过crawlspider爬取豆瓣TOP250详情页的信息

url:https://movie.douban.com/top250

思路分析:
  1. 定义一个规则,来进行列表页翻页,follow需要设置为True
  2. 定义一个规则,实现从列表页进入详情页,并且指定回调函数
  3. 在详情页提取数据
注意:连接提取器LinkExtractor中的allow对应的正则表达式匹配的是href属性的值

3、创建crawlspider爬虫并观察爬虫内的默认内容

3.1 创建crawlspider爬虫:

scrapy startproject project

cd project

scrapy genspider -t crawl douban book.douban.com/latest?subcat=%E5%85%A8%E9%83%A8&p=1

url: 豆瓣图书 https://book.douban.com/latest?subcat=%E5%85%A8%E9%83%A8&p=1

3.2 spider中默认生成的内容如下:
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule


class BookSpider(CrawlSpider):
    name = 'douban'
    # allowed_domains = ['https://movie.douban.com/top250']

    start_urls = ['https://movie.douban.com/top250']
    # 匹配页码地址
    link = LinkExtractor(allow=r'start=\d+&filter=')
    # 匹配详情页地址
    link_detail = LinkExtractor(allow=r'https://movie.douban.com/subject/\d+/')
    # allow值什么都不写 则为提取所有的url
    link_all = LinkExtractor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逐梦舞者

你的打赏是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值