【发布时间】:2019-10-23 18:18:28
【问题描述】:
我正在尝试从网页中截取嵌入的 json,然后将 json 对象传递给 json.loads()。第一个 url 没问题,但是加载第二个 url 时返回错误
ValueError:未终止的字符串开始于:第 1 行第 2078 列(字符 2077)
这里是代码
import requests,json
from bs4 import BeautifulSoup
urls = ['https://www.autotrader.co.uk/dealers/greater-manchester/manchester/williams-landrover-9994',
'https://www.autotrader.co.uk/dealers/warwickshire/stratford-upon-avon/guy-salmon-land-rover-stratford-upon-avon-9965'
]
for url in urls:
r = requests.get(url)
soup = BeautifulSoup(r.content,'lxml')
scripts = soup.find_all('script')[0]
data = scripts.text.split("window['AT_APOLLO_STATE'] = ")[1].split(';')[0]
jdata = json.loads(data)
print(jdata)
【问题讨论】:
-
在
json.loads之前添加print(data),这样你就可以看到抓取的输出了。
标签: python json web-scraping beautifulsoup