Oli*_*via 3 python json scrapy readlines
我有一个JSON文件存储一些用户信息,包括id,name和url.json文件如下所示:
{"link": "https://www.example.com/user1", "id": 1, "name": "user1"}
{"link": "https://www.example.com/user1", "id": 2, "name": "user2"}
Run Code Online (Sandbox Code Playgroud)
这个文件是由scrapy蜘蛛写的.现在我想从json文件中读取urls并抓取每个用户的网页.但我无法从json文件加载数据.
这时,我不知道如何获取这些网址.我想我应该首先阅读json文件中的行.我在Python shell中尝试了以下代码:
import json
f = open('links.jl')
line = json.load(f)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 2 column 1- line 138 column 497(char498-67908)
Run Code Online (Sandbox Code Playgroud)
我在网上做了一些搜索.搜索表明json文件可能存在一些格式问题.但是json文件是使用scrapy管道创建并填充项目的.有没有人知道导致错误的原因是什么?以及如何解决?有关阅读网址的任何建议吗?
非常感谢.
小智 7
这些是出口商名称暗示的json线.
采取一看scrapy.contrib.exporter,看到的区别JsonItemExporter和JsonLinesItemExporter
这应该做的伎俩:
import json
lines = []
with open('links.jl', 'r') as f:
for line in f:
lines.append(json.loads(line))
Run Code Online (Sandbox Code Playgroud)