【问题标题】:Python Web Scraping with JavaScript Do PostbackPython Web Scraping with JavaScript Do Postback
【发布时间】:2017-12-22 17:31:41
【问题描述】:

我一直在尝试:

  1. 转到: mdoe.state.mi.us/moecs/PublicCredentialSearch.aspx

  2. 输入证书编号(为了便于说明,您可以直接搜索“戴维森”作为姓氏)。

  3. 点击“专业教学证书”对应的链接。

  4. 复制并粘贴结果表。

问题似乎在于 JavaScript doPostBack() 部分,因为我相信它需要渲染才能获取数据。

查看源代码时,看看 href 部分是如何识别这样的单个链接的? (对于第 6 个链接):

href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$gViewCredentialSearchList$ctl07$link1','')

从这里:

<td class="MOECSNormal" style="border-color:Black;border-width:1px;border-style:Solid;">Professional Teaching Certificate Renewal</td><td class="MOECSNormal" style="border-color:Black;border-width:1px;border-style:Solid;">
                                            <a id="ContentPlaceHolder1_gViewCredentialSearchList_link1_5" ItemStyle-BorderColor="Black" ItemStyle-BorderStyle="Solid" ItemStyle-BorderWidth="1px" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$gViewCredentialSearchList$ctl07$link1','')">CC-XWT990004102</a>
                                        </td>

我正在寻找一种方法(通过 Python)将我需要的数据放入表格中,给定证书编号和证书名称(即“专业教学证书”。

我曾尝试按照使用 PyQt4 的教程进行操作,但单独安装它很痛苦。

提前致谢!

【问题讨论】:

    标签: javascript python web-scraping dopostback


    【解决方案1】:

    您可以在浏览器中打开页面,例如Chrome 并研究页面和服务器之间的交互是如何完成的,通常这些信息可以在 Developer tool 的网络选项卡中看到,这样你就可以编写一个 python 脚本来执行这些步骤可能使用requests library

    您可以使用selenium-python 来模拟您的浏览器交互(包括javascript 调用),直到您到达您感兴趣的数据所属的页面。

    【讨论】:

      猜你喜欢
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 2020-09-29
      • 2019-01-31
      • 1970-01-01
      • 2022-11-22
      • 2018-08-24
      相关资源
      最近更新 更多