使用scrapy框架爬去猫眼电影网top100榜
时间: 2023-09-08 15:07:45 浏览: 87
好的,下面是一个简单的爬虫程序,可以爬取猫眼电影网top100榜的电影名称、主演、上映时间、评分等信息。
首先,在命令行中执行以下命令,创建一个新的Scrapy项目:
```
scrapy startproject maoyan_top100
```
然后,进入项目目录,并在命令行中执行以下命令,创建一个新的Spider:
```
cd maoyan_top100
scrapy genspider maoyan_spider maoyan.com
```
现在,我们可以在`maoyan_top100/spiders/maoyan_spider.py`文件中编写我们的爬虫程序。以下是一个简单的程序,可以爬取猫眼电影网top100榜的电影名称、主演、上映时间、评分等信息:
```python
import scrapy
class MaoyanSpider(scrapy.Spider):
name = 'maoyan_spider'
allowed_domains = ['maoyan.com']
start_urls = ['https://maoyan.com/board/4']
def parse(self, response):
movies = response.xpath('//dl[@class="board-wrapper"]/dd')
for movie in movies:
yield {
'title': movie.xpath('.//p[@class="name"]/a/text()').get(),
'star': movie.xpath('.//p[@class="star"]/text()').get(),
'release_date': movie.xpath('.//p[@class="releasetime"]/text()').get(),
'score': movie.xpath('.//p[@class="score"]/i/text()').get(),
}
next_page = response.xpath('//a[@class="next"]/@href')
if next_page:
yield response.follow(next_page.get(), self.parse)
```
在这个程序中,我们首先定义了一个Spider类`MaoyanSpider`,继承自Scrapy的Spider类。然后,我们指定了Spider的名称、允许的域名和起始URL。在`parse`方法中,我们使用XPath选择器来定位电影信息,并将其保存到一个字典中。最后,我们使用`response.follow()`方法来跟踪下一页的链接,以便可以爬取整个top100榜。
现在,我们可以在命令行中执行以下命令,运行我们的爬虫程序:
```
scrapy crawl maoyan_spider -o maoyan_top100.csv
```
这个命令将会运行我们的爬虫程序,并将结果保存到一个CSV文件中。您可以在`maoyan_top100.csv`文件中查看结果。
阅读全文