【发布时间】:2015-11-24 21:07:55
【问题描述】:
我目前正在从https://www3.bcb.gov.br/expectativas/publico/en/serieestatisticas 的公共系列数据中提取数据
我相信这是一个使用 apache wicket 的公共页面。
我通常对抓取没问题,无论是 GET 还是 POST。在这里,我和我的同事们陷入了困境。任何人都可以帮助了解实际发出请求需要使用什么 URL。到目前为止,这是我所得到的:
文本视图: form19_hf_0 =&indicador = 0&calculo = 0&linhaPeriodicidade%3Aperiodicidade = 0&tfDataInicial = 11%2F10%2F2015&tfDataFinal = 11%2F24%2F2015&divPeriodoRefereEstatisticas%3AgrupoAnoReferencia%3AanoReferenciaInicial = 16&divPeriodoRefereEstatisticas%3AgrupoAnoReferencia%3AanoReferenciaFinal = 16&btnCSV =生成+ CSV P>
总结:
我需要一些帮助,我似乎无法让 POST 正常工作,它会将我带到另一个页面,我不知道如何处理这个页面。
注意:我正在尝试获取 CSV。
我使用的库主要是 Requests(我打算使用 LXML,但我认为它不适用于这里)。
我一直在尝试与 Postman 和 Fiddler 一起找出正确的表单,以了解请求需要是什么。
【问题讨论】:
-
你发布到哪个 URL,被重定向时你会得到哪个 HTTP 状态码?您使用哪个框架进行抓取?根据个人经验,我可以推荐requests 来处理更复杂的 HTTP 场景。
-
我正在使用请求和 lxml。困惑是我不确定使用哪一个。如果它只是简单地返回 HTML 并解析它就可以了,但它不仅仅是发送一个发布请求。它可能需要先创建一个我很模糊的会话。
标签: python https request urllib2 tunnel