Cod*_*ais 1 python json scrapy web-scraping
我想从 JSON 响应中抓取一些数据。这是链接
我需要lessonTypes. 我想导出所有用逗号分隔的值。所以Theorieopleidingen有 4 个值Beroepsopleidingen有 8 个等等。
我想动态刮取,所以即使值的数量发生变化,它也总是用逗号分隔所有刮擦。
对不起,如果我的解释是周。
既然它是一个 JSON 对象,为什么不直接使用requests并做你想做的(任何)你想要的(使用数据)。
例如:
import requests
url = "https://www.cbr.nl/web/show?id=289168&langid=43&channel=json&cachetimeout=-1&elementHolder=289170&ssiObjectClassName=nl.gx.webmanager.cms.layout.PagePart&ssiObjectId=285674&contentid=3780&examtype=B"
for value in requests.get(url).json()['lessonTypes'].values():
print(value)
Run Code Online (Sandbox Code Playgroud)
输出:
['Motor', 'Auto', 'Bromfiets', 'Tractor']
['Bus', 'Aanhangwagen achter bus', 'Vrachtauto', 'Aanhangwagen achter vrachtauto', 'Heftruck', 'ADR', 'Taxi', 'Tractor']
['Aangepaste auto', 'Automaat personenauto']
['Motor', 'Auto', 'Aanhangwagen achter auto', 'Bromfiets', 'Brommobiel']
Run Code Online (Sandbox Code Playgroud)
编辑:
要访问单个键及其值,您可能想尝试以下操作,例如:
import requests
url = "https://www.cbr.nl/web/show?id=289168&langid=43&channel=json&cachetimeout=-1&elementHolder=289170&ssiObjectClassName=nl.gx.webmanager.cms.layout.PagePart&ssiObjectId=285674&contentid=3780&examtype=B"
lesson_types = requests.get(url).json()['lessonTypes']
print(list(lesson_types.keys()))
print("\n".join(lesson_types['Theorieopleidingen']))
Run Code Online (Sandbox Code Playgroud)
输出:
['Theorieopleidingen', 'Beroepsopleidingen', 'Bijzonderheden', 'Praktijkopleidingen']
Motor
Auto
Bromfiets
Tractor
Run Code Online (Sandbox Code Playgroud)