利用Scrapy爬取豆瓣网数据,将代码及运行结果
时间: 2024-11-06 17:14:10 浏览: 64
Scrapy是一个强大的Python框架,用于高效地抓取网络数据。如果你想要利用Scrapy从豆瓣网获取数据,首先你需要安装Scrapy库以及一些依赖项,比如`lxml`解析HTML,然后创建一个新的Scrapy项目。
下面是一个简单的步骤概述:
1. **安装Scrapy**:
```
pip install scrapy
```
2. **创建项目**:
```
scrapy startproject douban_spider
```
进入新创建的项目文件夹(douban_spider)。
3. **定义Spider**:
在`spiders`目录下创建一个名为`douban.py`的文件,编写基础的Django Spider,如下所示:
```python
# douban.py
import scrapy
class DoubanSpider(scrapy.Spider):
name = 'douban'
allowed_domains = ['movie.douban.com']
start_urls = ['https://movie.douban.com/top250']
def parse(self, response):
for item in response.css('div.item'):
title = item.css('h3 a::text').get()
rating = item.css('.rating_num::text').get()
yield {
'title': title,
'rating': rating,
}
```
这里我们抓取电影排行榜的信息,包括标题和评分。
4. **运行爬虫**:
```
scrapy crawl douban
```
运行命令后,Scrapy会开始按照设定的URL和解析规则抓取网页内容。
5. **保存数据**:
默认情况下,Scrapy会把数据保存到一个CSV、JSON或者MongoDB等存储数据库。你可以在项目的settings.py中配置存储方式。
注意:豆瓣网有反爬虫策略,频繁抓取可能会被封IP。在实际使用中,需要添加延迟请求、设置User-Agent、处理登录验证等,甚至可能需要用到中间件如Scrapy-Splash来渲染JavaScript页面。
阅读全文