python scrapy 爬虫实例_Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例

a3ca1169dc0ad090dc9f445546313ce1.png

本文实例讲述了Python Scrapy框架:通用爬虫之CrawlSpider用法。分享给大家供大家参考,具体如下:

步骤01: 创建爬虫项目

scrapy startproject quotes

步骤02: 创建爬虫模版

scrapy genspider -t quotes quotes.toscrape.com

步骤03: 配置爬虫文件quotes.py

import scrapy

from scrapy.spiders import CrawlSpider, Rule

from scrapy.linkextractors import LinkExtractor

class Quotes(CrawlSpider):

# 爬虫名称

name = "get_quotes"

allow_domain = ["quotes.toscrape.com"]

start_urls = ["http://quotes.toscrape.com/"]

# 设定规则

rules = (

# 对于quotes内容页URL,调用parse_quotes处理,

# 并以此规则跟进获取的链接

Rule(LinkExtractor(allow=r"/page/d+"), callback="parse_quotes", follow=True),

# 对于author内容页URL,调用parse_author处理,提取数据

Rule(LinkExtractor(allow=r"/author/w+"), callback="parse_author")

)

# 提取内容页数据方法

def parse_quotes(self, response):

for quote in response.css(".quote"):

yield {"content": quote.css(".text::text").extract_first(),

"author": quote.css(".author::text").extract_first(),

"tags": quote.css(".tag::text").extract()

}

# 获取作者数据方法

def parse_author(self, response):

name = response.css(".author-title::text").extract_first()

author_born_date = response.css(".author-born-date::text").extract_first()

author_bron_location = response.css(".author-born-location::text").extract_first()

author_description = response.css(".author-description::text").extract_first()

return ({"name": name,

"author_bron_date": author_born_date,

"author_bron_location": author_bron_location,

"author_description": author_description

})

步骤04: 运行爬虫

scrapy crawl quotes

更多相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家基于Scrapy框架的Python程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值