如何使用scrapy爬取豆瓣top250,要具体代码
时间: 2024-01-08 09:03:52 浏览: 85
要使用 Scrapy 爬取豆瓣 Top250,可以按照以下步骤操作:
1. 创建 Scrapy 项目
在终端中执行以下命令:
```
scrapy startproject douban_top250
```
这将创建一个名为 `douban_top250` 的 Scrapy 项目。
2. 创建 Spider
在项目目录下运行以下命令:
```
cd douban_top250
scrapy genspider douban_spider movie.douban.com
```
这将在 `spiders` 目录下创建一个名为 `douban_spider.py` 的 Spider。
3. 编写 Spider 代码
打开 `douban_spider.py` 文件,并将以下代码复制到文件中:
```python
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 movie in response.css('.item'):
yield {
'title': movie.css('.title::text').extract_first(),
'rating': movie.css('.rating_num::text').extract_first(),
'link': movie.css('.hd a::attr(href)').extract_first(),
}
next_page = response.css('.next a::attr(href)').extract_first()
if next_page:
yield scrapy.Request(response.urljoin(next_page), callback=self.parse)
```
这个 Spider 会访问豆瓣 Top250 页面,并提取每部电影的标题、评分和链接。它还会查找下一页的链接,并递归地调用 `parse` 方法。
4. 运行 Spider
在项目目录下运行以下命令:
```
scrapy crawl douban -o top250.csv
```
这将运行 Spider 并将结果保存到名为 `top250.csv` 的 CSV 文件中。
以上就是使用 Scrapy 爬取豆瓣 Top250 的具体代码。
阅读全文