使用scrapy框架爬虫实例
时间: 2023-09-08 10:08:20 浏览: 114
好的,下面我来给你一个简单的使用 Scrapy 框架编写爬虫的实例。
首先,你需要在电脑上安装 Scrapy,可以使用以下命令进行安装:
```
pip install scrapy
```
接下来,我们以爬取豆瓣电影 Top 250 为例,编写一个爬虫。
1. 创建 Scrapy 项目
在命令行中输入以下命令,在指定目录下生成 Scrapy 项目:
```
scrapy startproject douban_movie
```
2. 创建爬虫
在项目目录下,输入以下命令创建名为 `movie_spider` 的爬虫:
```
scrapy genspider movie_spider movie.douban.com
```
3. 编写爬虫代码
打开 `douban_movie/spiders/movie_spider.py` 文件,添加以下代码:
```python
import scrapy
class MovieSpider(scrapy.Spider):
name = 'movie_spider'
allowed_domains = ['movie.douban.com']
start_urls = ['https://movie.douban.com/top250']
def parse(self, response):
for movie in response.css('.item'):
yield {
'title': movie.css('.title::text').get(),
'star': movie.css('.rating_num::text').get(),
'quote': movie.css('.quote span::text').get(),
}
next_page = response.css('.next a::attr(href)').get()
if next_page:
yield response.follow(next_page, self.parse)
```
上述代码中,我们定义了一个名为 `MovieSpider` 的类,继承自 `scrapy.Spider` 类。其中,`name`、`allowed_domains` 和 `start_urls` 分别用于指定爬虫名称、允许爬取的域名和起始页面 URL。
在 `parse` 方法中,我们使用 CSS 选择器获取每个电影的标题、评分和引言,并将结果返回。接着,我们使用 `response.follow` 方法跟进下一页。
4. 运行爬虫
在命令行中输入以下命令运行爬虫:
```
scrapy crawl movie_spider -o movie.csv
```
上述命令中,`-o` 参数用于指定输出文件,这里我们将结果保存到 `movie.csv` 文件中。运行完毕后,你可以在项目目录下找到该文件。
至此,一个简单的使用 Scrapy 框架编写豆瓣电影 Top 250 爬虫的实例就完成了。
阅读全文