python - Scrapy 错误显示当没有数据可抓取对象时
问题描述
当我运行我的 Scrapy 代码时,我不断收到错误“'NoneType' object is not subscriptable”。我知道对象值为 None,但是如何跳过它并指示 Scrapy 将此对象记录为空对象?
下面是方法
def parse_country(self, response):
try:
item = response.meta['item']
link_id = response.meta['link_id']
place_data = json.loads(response.body)
place_country = place_data[0][0][0]
item['place_country'] = place_country
yield item
except Exception as e:
print(e)
该错误仅在没有要抓取的数据时显示。
解决方案
Try/except
对于捕获错误或错误很有用。我会建议一个if/else
解决方案。
像这样的东西可能对你有用:
def parse_country(self, response):
item = response.meta['item']
link_id = response.meta['link_id']
place_data = json.loads(response.body)
if place_data[0][0][0] is not None:
place_country = place_data[0][0][0]
item['place_country'] = place_country
else
item['place_country'] = 'No Country found'
推荐阅读
- wpf - 从服务器启动 powershell 脚本到远程计算机
- java - How to remove white border/background from Bitmap in Kotlin?
- python - 将 DatetimeIndex 移动一年会产生意想不到的结果
- typescript - Vuetify - 无法通过打字稿在表格中显示数据
- reactjs - React Router 中 url 参数的 TypeScript 输入
- odbc - Cognos TM1 与 ClickHouse 的连接
- azure - 在 Azure DevOps 上,用户如何能够访问组织的每个项目?
- pdf - 如何在@react-pdf/render 中注册日文字体
- laravel - Laravel 8 将变量从控制器传递到视图的问题
- c++ - googletest 无法链接到 DUT