我试图用python解析一系列html页面,但在以迭代方式获取页面时遇到了问题。指向网页的链接。你知道吗
在浏览了源代码之后,我发现了一个函数,它对下一页的button元素上的click事件做出响应。你知道吗
function SaltaAPagina() {
var CalcPag = VAIAPAGINA.value;
if (CalcPag > 0) {
CalcPag=CalcPag;
}
else {
CalcPag="1";
}
document.location = "/OPACMI01/cat/SDW?W=CODICE_BIBLIO+%3D+%27LO1+01%27+AND+EDITORE+PH+WORDS+%27sonzogno%27+AND+DATA_PUBBLICAZIONE+%3C+1943+ORDER+BY+ORDINAMENTO/Ascend&M=" + CalcPag + "&R=Y";
}
我知道我可以使用pythons urllib2模块和urlencode方法对参数进行编码。但是我不确定我应该包括什么作为一个参数
lomba_link='http://www.biblioteche.regione.lombardia.it/OPACMI01/cat/SDW?W%3DCODICE_BIBLIO+%3D+%27LO1+01%27+AND+EDITORE+PH+WORDS+%27sonzogno%27+AND+DATA_PUBBLICAZIONE+%3C+1943+ORDER+BY+ORDINAMENTO/Ascend%26M%3D1%26R%3DY'
params = urllib.urlencode([('CalcPag',4)])
# this has not worked.
req = urllib2.Request(lomba_link)
print req
response = urllib2.urlopen(req,params)
html_doc = response.read()
我错过了什么?你知道吗
谢谢
您发布的javascript函数正在向目标页传递几个参数:
在您的代码中,您已经对URL中的所有
&
和=
符号进行了编码,因此您传递的是一个没有值的长参数—将这些符号更改回javascript函数中的符号应该可以做到这一点。你知道吗使用出色的
requests
库比使用urllib2
库容易得多。。。你知道吗关于
urllib2.urlopen
,params
用于POST请求。不幸的是,您需要将查询字符串附加到url以发出GET请求。你知道吗例如:
对于请求,这将简单得多:
相关问题 更多 >
编程相关推荐