使用scrapy框架进行爬取https://movie.douban.com/cinema/later/chongqing/
时间: 2023-10-10 20:14:38 浏览: 116
使用scrapy框架爬取大量球员信息,可作为毕业设计,下载即可运行。
5星 · 资源好评率100%
好的,以下是使用Scrapy框架爬取该网站的步骤:
1. 创建一个Scrapy项目
在命令行中使用以下命令创建一个名为douban_movie的Scrapy项目:
```
scrapy startproject douban_movie
```
2. 创建一个Spider
在douban_movie/spiders目录下创建一个名为movies.py的文件,并添加以下代码:
```python
import scrapy
class MoviesSpider(scrapy.Spider):
name = 'movies'
allowed_domains = ['movie.douban.com']
start_urls = ['https://movie.douban.com/cinema/later/chongqing/']
def parse(self, response):
pass
```
这个Spider将会爬取 https://movie.douban.com/cinema/later/chongqing/ 页面的信息。
3. 解析页面
在parse方法中,我们将使用XPath表达式来解析页面。以下是获取每个电影信息的XPath表达式:
```python
for movie in response.xpath('//div[@class="show-list"]/ul/li'):
title = movie.xpath('.//li[@class="stitle"]/a/text()')[0].extract()
release_date = movie.xpath('.//li[@class="srdate"]/text()')[0].extract()
yield {
'title': title,
'release_date': release_date
}
```
4. 运行Spider
在命令行中运行以下命令启动Spider:
```
scrapy crawl movies
```
Spider将会爬取网站并输出每部电影的标题和上映日期。
完整的代码如下:
```python
import scrapy
class MoviesSpider(scrapy.Spider):
name = 'movies'
allowed_domains = ['movie.douban.com']
start_urls = ['https://movie.douban.com/cinema/later/chongqing/']
def parse(self, response):
for movie in response.xpath('//div[@class="show-list"]/ul/li'):
title = movie.xpath('.//li[@class="stitle"]/a/text()')[0].extract()
release_date = movie.xpath('.//li[@class="srdate"]/text()')[0].extract()
yield {
'title': title,
'release_date': release_date
}
```
注意:为了避免被网站封禁,我们需要在settings.py中添加以下设置:
```python
DOWNLOAD_DELAY = 1
```
这将会延迟每个请求1秒钟。
阅读全文