如何单击href中具有javascript:__ doPostBack的链接?

发布于 2021-01-29 18:10:50

我正在使用模块“ mechanize”在python中编写屏幕抓取脚本,我想在href中具有javascript:__
doPostBack的链接上使用mechanize.click_link()方法。我相信我要解析的页面正在使用AJAX。

注意:机械是mechanize.Browser()

>>> next_link.__class__.__name__
'Link'
>>> next_link
Link(base_url='http://www.citius.mj.pt/Portal/consultas/ConsultasDistribuicao.aspx', url="javascript:__doPostBack('ctl00$ContentPlaceHolder1$Pager1$lnkNext','')", text='2', tag='a', attrs=[('id', 'ctl00_ContentPlaceHolder1_Pager1_lnkNext'), ('title', 'P\xc3\xa1gina seguinte: 2'), ('href', "javascript:__doPostBack('ctl00$ContentPlaceHolder1$Pager1$lnkNext','')")])
>>> req = mech.click_link(next_link)
>>> req
<urllib2.Request instance at 0x025BEE40>
>>> req.has_data()
False

单击链接后,我想检索页面源。

关注者
0
被浏览
198
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我不使用机械化,但是我在网上做了很多使用python抓取自己的事情。

    当我遇到诸如__doPostBack之类的javascript函数时,我将执行以下操作:
    我访问Firefox中的网站,并使用HttpFox扩展名来查看单击相关链接时浏览器发送到Web服务器的POST请求的参数。
    然后,我使用urllib.parse.urlencode在python中构建相同的请求,以构建所需的查询字符串和POST数据。
    有时网站也使用cookie,因此我只使用python的http.cookiejar。

    我已经成功地使用了这种技术几次。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看