Scrapy报错load_item error: <class 'AttributeError'>, 'TextResponse' object has no attribute 'json', html.py, 138
时间: 2023-06-21 11:09:24 浏览: 121
重装系统后python环境问题后续——scrapy生成spider报错:Fatal error in launcher: Unable to create process using
5星 · 资源好评率100%
这个错误是由于你在使用`response.json()`方法,而Scrapy的`TextResponse`对象并没有这个属性。`response.json()`方法是用来解析JSON格式的response对象的,如果你的response是HTML格式的,则会报错。
如果你需要解析HTML页面中的数据,你可以使用Scrapy自带的`Selector`选择器来提取数据。具体操作如下:
1. 在Spider类中引入`Selector`:
```python
from scrapy.selector import Selector
```
2. 使用`Selector`选择器提取数据:
```python
def parse(self, response):
# 提取title标签中的文本
title = response.css('title::text').get()
# 提取所有p标签中的文本
paragraphs = response.css('p::text').getall()
```
这样就可以避免`response.json()`方法报错的问题了。
阅读全文