python爬虫scrapy案例实战
时间: 2023-06-05 18:47:04 浏览: 261
好的,我可以为您提供一个简单的Python爬虫Scrapy框架的实战案例。
在这个案例中,我们将使用Scrapy框架爬取豆瓣电影的电影名、导演、评分等信息,并将结果保存到一个JSON文件中。
首先,您需要安装Scrapy框架。可以通过以下命令在命令行中安装:
```
pip install scrapy
```
安装完成后,我们可以开始编写爬虫。
1. 创建项目
使用以下命令创建一个新的Scrapy项目:
```
scrapy startproject douban_movies
```
这将在当前目录下创建一个名为“douban_movies”的目录,其中包含了项目的基本文件结构。
2. 定义Spider
我们需要定义一个Spider来指定我们要爬取的网站,并提供如何抓取网页内容的信息。在这个案例中,我们将在douban.com的电影页面上抓取信息。
在项目的根目录下,创建一个名为“douban_spider.py”的文件,并将以下代码复制到文件中:
```python
import scrapy
class DoubanSpider(scrapy.Spider):
name = 'douban'
start_urls = ['https://movie.douban.com/top250']
def parse(self, response):
for movie in response.css('div.item'):
yield {
'title': movie.css('span.title::text').get(),
'rating': movie.css('span.rating_num::text').get(),
'director': movie.css('div.info span:nth-child(3)::text').get(),
'year': movie.css('div.info span:nth-child(4)::text').get()
}
next_page = response.css('span.next a::attr(href)').get()
if next_page is not None:
yield response.follow(next_page, self.parse)
```
在这个Spider中,我们定义了一个名称为“douban”的Spider,并指定了我们要抓取的起始URL。在“parse”方法中,我们使用CSS选择器选择了页面中的电影信息,并使用yield语句将信息返回。
此外,我们还检查了页面中是否有下一页,如果有,则使用“response.follow”方法继续爬取下一页。
3. 运行Spider
在命令行中,进入项目的根目录,并使用以下命令运行Spider:
```
scrapy crawl douban -o movies.json
```
这将运行名为“douban”的Spider,并将结果保存到一个名为“movies.json”的JSON文件中。
现在,您可以在项目目录中找到“movies.json”文件,查看Scrapy框架成功抓取到的电影信息。
这就是一个简单的Python爬虫Scrapy框架的实战案例。希望这能帮助您更好地理解Scrapy框架的使用方法。