我有有限的Python经验,并试图刮刮一个使用ajax调用的网站。我尝试过遵循不同网站上提供的示例,但是还没有成功,很可能是因为我的ajax调用的表单数据没有格式化为JSON。
本例中的ajax调用具有以下格式的表单数据:
filters[targetValueMin]: 0
filters[targetValueMax]: 15000000
filters[interestRateMin]: 0
filters[interestRateMax]: 20
filters[loanTermMin]: 0
filters[loanTermMax]: 240
filters[platforms]:
filters[financingTypes]:
filters[developmentPhases]:
filters[investmentPurposes]:
因此,我的问题是:如何抓取来自此ajax调用的内容?
通过转到https://www.crowdfundmarkt.nl/crowdfundingprojecten并调整左侧的一个过滤器,可以重新创建ajax调用。
发布于 2018-05-29 08:52:37
检查请求文档中的Make a POST request以发送表单url编码的数据。然后解析json结果:
import requests
payload = {
'filters[routeName]' : 'projects_list',
'filters[pageNr]' : '1',
'filters[funded]' : '1',
'filters[targetValueMin]' : '0',
'filters[targetValueMax]' : '15000000',
'filters[interestRateMin]' : '0',
'filters[interestRateMax]' : '20',
'filters[loanTermMin]' : '0',
'filters[loanTermMax]' : '240',
'filters[platforms]' : '',
'filters[financingTypes]' : '',
'filters[developmentPhases]' : '',
'filters[investmentPurposes]' : '',
'filters[businessEntities]' : '',
'filters[states]' : '',
'filters[sectors]' : '',
'filters[search]' : ''
}
r = requests.post("https://www.crowdfundmarkt.nl/crowdfundingprojecten/ajax-fetch", data=payload)
print r.json()
https://stackoverflow.com/questions/50556793
复制相似问题