读书目录!!!

遥远的救世主 电视剧 天道
奇迹的黄昏
潜规则
胡雪岩
金融的逻辑
明朝那点事
激荡三十年
杜拉拉升职记
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,在 Scrapy 项目中创建一个名为“douban”的爬虫,然后在 items.py 文件中定义一个名为“BookItem”的类,包括以下字段: ```python import scrapy class BookItem(scrapy.Item): title = scrapy.Field() rating = scrapy.Field() author = scrapy.Field() publisher = scrapy.Field() pub_year = scrapy.Field() ``` 接着,在 Spider 中使用 Scrapy 的选择器和 XPath 表达式来提取数据。首先需要在 start_requests 方法中生成请求: ```python class DoubanSpider(scrapy.Spider): name = 'douban' allowed_domains = ['book.douban.com'] start_urls = ['https://book.douban.com/top250'] def start_requests(self): for url in self.start_urls: yield scrapy.Request(url=url, callback=self.parse) ``` 然后,在 parse 方法中使用选择器和 XPath 表达式来提取数据: ```python def parse(self, response): books = response.xpath('//tr[@class="item"]') for book in books: item = BookItem() item['title'] = book.xpath('.//div[@class="pl2"]/a/@title').extract() item['rating'] = book.xpath('.//span[@class="rating_nums"]/text()').extract() item['author'] = book.xpath('.//div[@class="pl"]/text()').extract() item['publisher'] = book.xpath('.//p[@class="pl"]/text()')[0]\ .re(r'(?<=\/).*(?=\/)')[0].strip() item['pub_year'] = book.xpath('.//p[@class="pl"]/text()')[0]\ .re(r'\d{4}')[0] yield item ``` 其中,books 是一个选择器对象,包含了网页中所有的书籍信息。然后,对于每一本书,创建一个新的 BookItem 对象,并使用 XPath 表达式从选择器中提取数据。对于出版社和出版年份,需要使用正则表达式来进一步提取。 最后,可以使用 Scrapy 的命令行工具来运行爬虫,并将结果保存到一个 JSON 文件中: ``` scrapy crawl douban -o books.json ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值