Scrapy框架CrawlSpider类爬虫实例

CrawlSpider类爬虫中:

rules用于定义提取URl地址规则,元祖数据有顺序

#LinkExtractor 连接提取器,提取url地址

  #callback 提取出来的url地址的response会交给callback处理

 #follow 当前url地址的响应是否重新经过rules进行提取url地址

cf.py具体实现代码如下(简化版):

 1 # -*- coding: utf-8 -*-
 2 import scrapy
 3 from scrapy.linkextractors import LinkExtractor
 4 from scrapy.spiders import CrawlSpider, Rule
 5 import re
 6
 7 class CfSpider(CrawlSpider):
 8     name = ‘cf‘
 9     allowed_domains = [‘bxjg.circ.gov.cn‘]
10     start_urls = [‘http://bxjg.circ.gov.cn/web/site0/tab5240/Default.htm‘]
11
12     rules = (
13         Rule(LinkExtractor(allow=r‘/web/site0/tab5240/info\d+\.htm‘), callback=‘parse_item‘, ),
14         Rule(LinkExtractor(allow=r‘/web/site0/tab5240/module14430/page\d+\.htm‘),follow=True, ),
15     )
16
17     def parse_item(self, response):
18         item = {}
19         item[‘title‘] = re.findall("<!--TitleStart-->(.*?)<!--TitleEnd-->", response.body.decode())[0]
20         item[‘publish_date‘] = re.findall("发布时间:(20\d{2}-\d{2}-\d{2})", response.body.decode())[0]
21         print(item)

原文地址:https://www.cnblogs.com/zhiliang9408/p/10199892.html

时间: 2024-10-09 02:55:30

Scrapy框架CrawlSpider类爬虫实例的相关文章

爬虫Scrapy框架-Crawlspider链接提取器与规则解析器

一:Crawlspider简介 CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生除了其自己独有的更加强大的特性和功能.其中最显著的功能就是"LinkExtractors链接提取器".Spider是所有爬虫的基类,其设计原则只是为了爬取start_url列表中网页,而从爬取到的网页中提取出的url进行继续的爬取工作使用CrawlSpider更合适. 二:Crawlspider使用 实例:爬取https://www.qiushibaike.c

Scrapy框架——CrawlSpider爬取某热线网站

CrawlSpider Scrapy框架中分两类爬虫,Spider类和CrawlSpider类. 它是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页, 而CrawlSpider类定义了一些规则(rule)来提供跟进link的方便的机制,从爬取的网页中获取link并继续爬取的工作更适合. 创建项目指令: scrapy startproject sumPro CrawlSpider创建: scrapy genspider -t crawl sun "http:/

如何使用Scrapy框架实现网络爬虫

现在用下面这个案例来演示如果爬取安居客上面深圳的租房信息,我们采取这样策略,首先爬取所有租房信息的链接地址,然后再根据爬取的地址获取我们所需要的页面信息.访问次数多了,会被重定向到输入验证码页面,这个问题后面再解决 1. 创建项目: 进入项目路径,使用命令 scrapy startproject anjuke_urls 进入项目路径,使用命令 scrapy startproject anjuke_zufang 2. 创建爬虫文件: 进入项目anjuke_urls的spider路径,使用命令 sc

Scrapy框架第一个爬虫项目--汽车之家二手车列表信息抓取

废话不多说,上代码 1.以下代码为spider文件 import scrapy from car_home.items import che168Item class Che168Spider(scrapy.Spider): name = 'che168' allowed_domains = ['che168.com'] start_urls = ['https://www.che168.com/beijing/list/'] def parse(self, response): #获取多个列表

scrapy框架与python爬虫

原文地址:https://www.cnblogs.com/xifengqidama/p/9724275.html

python爬虫入门(八)Scrapy框架之CrawlSpider类

CrawlSpider类 通过下面的命令可以快速创建 CrawlSpider模板 的代码: scrapy genspider -t crawl tencent tencent.com CrawSpider是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一些规则(rule)来提供跟进link的方便的机制,从爬取的网页中获取link并继续爬取的工作更适合. CrawSpider源码详细解析 class CrawlSpider(S

18、python网路爬虫之Scrapy框架中的CrawlSpider详解

CrawlSpider的引入: 提问:如果想要通过爬虫程序去爬取"糗百"全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法二:基于CrawlSpider的自动爬取进行实现(更加简洁和高效) CrawlSpider的简介: CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生除了其自己独有的更加强大的特性和功能.其中最显著的功能就是"

Python网络爬虫之Scrapy框架(CrawlSpider)

目录 Python网络爬虫之Scrapy框架(CrawlSpider) CrawlSpider使用 爬取糗事百科糗图板块的所有页码数据 Python网络爬虫之Scrapy框架(CrawlSpider) 提问:如果想要通过爬虫程序去爬取"糗百"全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法二:基于CrawlSpider的自动爬取进行实现(更加简洁和高效). CrawlSpider使

爬虫学习 16.Python网络爬虫之Scrapy框架(CrawlSpider)

爬虫学习 16.Python网络爬虫之Scrapy框架(CrawlSpider) 引入 提问:如果想要通过爬虫程序去爬取"糗百"全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法二:基于CrawlSpider的自动爬取进行实现(更加简洁和高效). 今日概要 CrawlSpider简介 CrawlSpider使用 基于CrawlSpider爬虫文件的创建 链接提取器 规则解析器 今日详