# -*- coding: utf-8 -*- import json from scrapy_redis.spiders import RedisCrawlSpider from items import TravelsItem class TuniuSpider(RedisCrawlSpider): name = "tuniu" allowed_domains = ["trips.tuniu.com"] #可以被共享的调度器队列的名称,从redis数据库中获取起始url地址 至此普通scrapy分布式完成 redis_key = "tuniu:start_urls" def parse(self, response): # 将获取的数据转换为json对象 data = json.loads(response.text) for row in data["data"]["rows"]: #实例化对象,将解析的数据封装到该对象中 item = TravelsItem() # 通过反射的方式给item赋值,将数据封装到item对象中,并提交到管道 for k in row.keys(): if k in item.fields: item[k] = row[k] yield item爬虫代码为什么执行不了
时间: 2024-02-10 14:10:57 浏览: 157
根据提供的代码,有几个问题需要注意:
1. 首先需要检查项目中是否存在 `items.py` 文件并且其中是否定义了 `TravelsItem` 类。
2. 检查是否正确安装了 `scrapy_redis` 库,因为 `RedisCrawlSpider` 类是从该库中引入的。
3. 确保已经正确配置了 Redis 数据库并且可以被访问到。
4. 确认起始 URL 是否被正确添加到 Redis 数据库中。
如果上述问题都没有出现,可以尝试在终端中执行以下命令以启动爬虫:
```
scrapy runspider your_spider.py
```
其中 `your_spider.py` 是你的爬虫代码的文件名。如果爬虫能够正常运行,将会输出爬虫的日志信息,并在命令行中显示爬取过程。
阅读全文