2015-11-24 31 views
0

我目前从公共序列数据从https://www3.bcb.gov.br/expectativas/publico/en/serieestatisticasPython的请求通过HTTPS隧道获取数据

提取数据这是使用Apache便门我相信公共页面。

我通常无论是GET还是POST都可以进行抓取。在这里,我和我的同事都卡住了。任何人都可以帮助理解需要使用哪些URL来实际发出请求。下面是我到目前为止有:

的形式输入: enter image description here

小提琴手捕获手动执行: enter image description here

文本视图: form19_hf_0 = & indicador = 0 & calculo = 0 & linhaPeriodicidade%3Aperiodicidade = 0 & tfDataInicial = 11%2F10%2F2015 & tfDataFinal = 11%2F24%2F2015 & divPeriodoRefereStatisticas%3AgrupoAnoReferencia%3Aano ReferenciaInicial = 16 & divPeriodoRefereEstatisticas%3AgrupoAnoReferencia%3AanoReferenciaFinal = 16 & btnCSV =生成CSV +

我传入请求

表单数据: enter image description here

摘要:

我需要一些帮助,我可以似乎没有让POST正常工作,它将我带到另一个页面,我不确定如何通过这个工作。

注:我试图抢回CSV。

我正在使用的库主要是Requests(我打算使用LXML,但我不认为它会在这里适用)。

我一直在试图找出邮递员和提琴手的正确形式来理解请求的内容。

+0

你发送了哪个URL,重定向到哪个HTTP状态码?您使用哪种框架进行刮取?根据个人经验,我可以推荐[请求](http://docs.python-requests.org/en/ latest /)来处理更复杂的HTTP场景。 – jojonas

+0

我正在使用请求和lxml。混乱是我不确定使用哪一个。如果它只是回到HTML和解析它的罚款,但它不只是发送一个post请求。它可能需要首先创建一个会议,我朦胧。 – Kelvin

回答

0

所以,

解决这个问题有点间接。我们无法直接进行POST,因为页面以一般无法预测的方式增加了实际的POST URL。

我们使用的解决方案是安装Selenium网络驱动程序并使用它来模拟下拉可见值和按钮点击。

这个工作很干净。

感谢和HTH任何其他人可能有类似的问题。