我怎么能用python抓住这个特殊的jQuery站点?

时间:2016-06-08 00:54:06

标签: jquery python web-scraping

我想抓住这个网站:https://resultadoselecciones2016.onpe.gob.pe/PRP2V2016/Actas-por-Ubigeo.html

他们正在使用jQuery,所以数据不在" normal" HTML代码。我在Chrome开发者控制台上看到了这一点:

enter image description here

enter image description here

所以我在python 2.7上做了这个:

import urllib
import urllib2

url = 'https://resultadoselecciones2016.onpe.gob.pe/PRP2V2016/Actas-por-Ubigeo.html'

data = "pid=844399127479680.2&_clase=mesas&_accion=displayMesas&ubigeo=140107&nroMesa=034915&tipoElec=10&page=1&pornumero=1"

req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
print response.read()

但它不起作用,它只打印正常的html,而不是你上面看到的响应。

如何获取此数据?

1 个答案:

答案 0 :(得分:0)

我刚刚解决了这个问题。我使用requests模块而不是urllib,只需复制/粘贴整个标头,如下所示:

import requests
from bs4 import BeautifulSoup

url2 = "https://resultadoselecciones2016.onpe.gob.pe/PRP2V2016/ajax.php"
head = "[my entire header]"
data_get_departamentos = "pid=1037937475037058.5&_clase=ubigeo&_accion=getDepartamentos&dep_id=&tipoElec=&tipoC=acta&modElec=&ambito=E&pantalla="

r = requests.post(url2, data=data_get_departamentos, headers=head)
departamentos = r.text

然后我使用Beautifulsoup来解析html响应。就是这样。