使用scrapy框架爬取豆瓣
时间: 2023-09-08 16:08:14 浏览: 48
好的,下面是使用 Scrapy 框架爬取豆瓣的步骤:
1. 创建 Scrapy 项目
在命令行中输入以下命令创建一个新的 Scrapy 项目:
```
scrapy startproject douban
```
这将会在当前目录下创建一个名为 `douban` 的文件夹,其中包含了 Scrapy 项目的基本结构。
2. 创建爬虫
在 `douban/spiders` 目录下创建一个名为 `douban_spider.py` 的文件,该文件将包含我们编写的爬虫代码。
在 `douban_spider.py` 中,我们需要定义一个类,该类需要继承自 Scrapy 提供的 Spider 类,并实现以下属性和方法:
- `name`:爬虫的名称。
- `start_urls`:起始 URL 列表,爬虫将从这些 URL 开始抓取数据。
- `parse`:响应数据的解析函数,用于处理爬虫从页面中获取到的数据。
以下是一个简单的示例代码:
```python
import scrapy
class DoubanSpider(scrapy.Spider):
name = "douban"
start_urls = [
'https://movie.douban.com/top250',
]
def parse(self, response):
# 处理抓取到的数据
pass
```
3. 解析页面数据
在 `parse` 方法中,我们需要编写代码来解析页面数据。Scrapy 提供了一些方便的方法来获取页面中的数据,其中最常用的是 `response.xpath` 和 `response.css`。
以下是一个简单的示例代码,用于获取页面中的电影名称和评分:
```python
def parse(self, response):
for movie in response.xpath('//div[@class="hd"]'):
yield {
'title': movie.xpath('.//span[@class="title"]/text()').get(),
'rating': movie.xpath('.//span[@class="rating_num"]/text()').get(),
}
```
4. 运行爬虫程序
在命令行中进入到项目目录下,运行以下命令即可启动爬虫程序:
```
scrapy crawl douban
```
爬虫程序将会从起始 URL 开始抓取数据,并将抓取到的数据输出到控制台。可以通过一些设置来将数据保存到文件或数据库中。
以上就是使用 Scrapy 框架爬取豆瓣的基本步骤。需要注意的是,爬虫程序需要遵守网站的爬虫协议,不要过度频繁地访问页面,否则可能会被网站封禁。