使用 Scrapy 爬取 Bangumi 网站的分页与详情页数据
项目简介
在本项目中,我们使用 Scrapy 框架实现了对 Bangumi 网站的分页与详情页数据的爬取。项目包括以下功能:
- 分页解析:爬取排名页面的动漫信息。
- 详情页解析:获取动漫的详细描述。
- 图片下载与处理:从资源网站下载图片,进行重命名后存储。
注意: 在之前, 已经讲过很多怎么去找请求, 怎么去爬取请求相关的内容, 一些基本的操作, 从这篇文章开始, 就不再赘述了。
功能实现
1. 分页与详情页爬虫
我们定义了一个名为 BangumiSpider
的 Scrapy 爬虫类,具体实现如下:
class BangumiSpider(scrapy.Spider):
name = "bangumi"
start_urls = ["https://bgm.tv/anime/browser?sort=rank"]
page = 2
count = 1
def parse(self, response):
lis = response.xpath('//ul[@id="browserItemList"]/li')
for li in lis:
title = li.xpath('.//a[@class="l"]/text()').get()
info = li.xpath('.//p[@class="info tip"]/text()').get().replace(' ', '').replace('\n', '')
fade = li.xpath('.//small[@class="fade"]/text()')