首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >抓取表单数据不是JSON格式的ajax调用

抓取表单数据不是JSON格式的ajax调用
EN

Stack Overflow用户
提问于 2018-05-28 05:45:54
回答 1查看 288关注 0票数 1

我有有限的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调用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50556793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档