【发布时间】:2014-11-01 01:23:52
【问题描述】:
我想创建一个完全基于 Chrome 检查器(网络选项卡)中显示的 XHR 数据的发布请求。目标是重新创建 AJAX 请求以转到动态显示的页面 4。
我是这样编程的:
from requests import Session
session = requests.Session()
session.head('http://www.metrocuadrado.com/web/buscarFiltros/bogota-apartamento-venta')
payload = {...} #copied and pasted literally from the (previously inspected) source code of the XHR request
headersxhr = {...} #dictionary of all the headers found in the (previously inspected) source code of the XHR
response = session.post(
url = 'http://www.metrocuadrado.com/web/busqueda/pagina-4',
data = payload,
headers = headersxhr
)
print response.text
不幸的是,这给了我一个 404 错误。粘贴的有效载荷很长,有很多嵌套的字典。开头是这样的:
{"token":"","cantidadResultadosPagina":"16","filtrosJson":"\t\t\n\t\t{\"mnombreinmobiliaria\": {\"nombre\" :\"mnombreinmobiliaria\",\"valor\":[\"\"],\"valor2\":null,\"descripcion\":\"Nombre Compañia\",\"tip #. ....等等
是否存在我应该注意的编码问题?
另外,我必须通过所有标题吗?
非常感谢!!
【问题讨论】:
-
@S Lean 不幸的是,您需要更具体。甚至没有任何信息可以了解您的问题
-
@Mohsin 我还能包括什么?我包括了目标、代码、URL、结果(404 页面未找到)和假设原因......请告诉我,我会很乐意添加。
-
@S Lean 您能否解释一下您遵循的导航步骤 - 哪个 url(先行) - 那么您是在发帖吗?那是哪个领域。说一下我,我目前在这个页面,然后不知道你接下来想做什么 -- metrocuadrado.com/web/buscarFiltros/bogota-apartamento-venta
-
在广告列表的底部,我点击转到第 4 页(第 4 页)。这是一个 ID="paginador_pagina_4" 的元素。
-
@S Leon 知道了!现在发布答案:-)
标签: ajax xmlhttprequest python-requests