选择一个网站用scrapy框架去爬取数据
时间: 2024-05-19 22:10:49 浏览: 99
我选择爬取豆瓣电影的数据。首先,需要在命令行中安装Scrapy:
```
pip install scrapy
```
然后,在命令行中创建一个新的Scrapy项目:
```
scrapy startproject douban_movies
```
进入项目文件夹,创建一个新的Spider:
```
cd douban_movies
scrapy genspider movies_spider https://movie.douban.com/top250
```
接下来,在Spider的代码文件中设置好解析规则,使用XPath或CSS Selector等方式提取网页中的数据。例如,可以使用以下代码提取电影名称、评分、导演和主演:
```python
import scrapy
class MoviesSpider(scrapy.Spider):
name = 'movies_spider'
allowed_domains = ['movie.douban.com']
start_urls = ['https://movie.douban.com/top250']
def parse(self, response):
movie_list = response.xpath('//div[@class="item"]')
for movie in movie_list:
title = movie.xpath('.//span[@class="title"]/text()').extract()
rating = movie.xpath('.//span[@class="rating_num"]/text()').extract()
director_and_cast = movie.xpath('.//p/text()').extract()[0].strip()
director = director_and_cast.split(' ')[0][4:]
cast = director_and_cast.split(' ')[1][3:]
yield {'title': title, 'rating': rating, 'director': director, 'cast': cast}
```
最后,在命令行中运行Spider并将数据输出到JSON文件中:
```
scrapy crawl movies_spider -o movies.json
```
这样就可以得到一个包含豆瓣电影Top250的数据集了。
阅读全文