1
我试图从this site获得标题和每篇文章的链接。python POST请求问题
在json响应中一段时间后,感兴趣的数据用javascript加载。
var ltcom = 'TEFURVJDRVJB';
var ltpapaer = 'TFRQQVBFUg==';
var bender = new Canela.tool.Bender('searchBox',ltcom, {
replaceImg: 'http://resource.latercera.com/2015/css/img/bx_loader.gif', objectId: 'contentId', hl: 'abstract', taxonomyId: '24', ajaxTpl: true,
targets: { rowsContainer: 'result', pageContainer: 'pages', resumeContainer: 'resume' },
parameters: { type: 'CONTENT', fq: 'taxonomyId:24 AND status:2 AND launchDate:[2008-05-31T23:59:59.999Z TO NOW]', sort: 'launchDate desc', rows: 15 },
templates: {
rowTpl: '/index/tpl/rowTpl.html',
rowContainerTpl: '/index/tpl/rowContainerTpl.html',
pageTpl: '/index/tpl/pageTpl.html',
pageContainerTpl: '/index/tpl/pageContainerTpl.html',
resumeTpl: '/index/tpl/resumeTpl.html'
}
我尝试过使用硒方法,但没有成功。
当前代码:
import requests
url="http://www.latercera.com/app/application"
data= {
'action':'searchSolr',
'type':'CONTENT',
'siteCode':'TEFURVJDRVJB',
'fq':'taxonomyId:24 AND status:2 AND launchDate:[2008-05-31T23:59:59.999Z TO NOW]',
'indent':'on',
'wt':'json',
'qt':'default',
'sort':'launchDate desc',
'start':'0',
'rows':'15',
'q':'enersis'
}
print (requests.get(url, data=data).text)
requests.get(URL,数据=数据)吐出200
是否有必要使用一些头信息?我应该如何前进呢? 在此先感谢!
如果“json响应中的一段时间后,感兴趣的数据用javascript加载”,则co你不是直接从那里获取数据吗?我不知道你在做什么,但通常如果一个公共网站可以访问它,你也可以。打开Google Chrome开发者工具(F12)并导航至网络标签。您可以查看所有请求及其响应和内容。你可以从那里得到URL和params。 (不是一个答案,因为我不知道,如果你的数据是公开可访问的,如果它有帮助,我可以把它作为一个答案) – makaveli
我想获得每篇文章的标题和链接。看看这里:http://www.latercera.com/resultadoBusqueda.html?q=enersis 'print(requests.post(url,data = data).text)'也不会返回任何东西。 – Pran