【问题标题】:Retrieve the source of a dynamic website using python (bypassing onclick)使用python检索动态网站的源码(绕过onclick)
【发布时间】:2009-12-10 09:43:03
【问题描述】:

我希望检索网站的来源,该来源是在单击链接时动态生成的。链接本身如下:

<a onclick="function(); return false" href="#">Link</a>

这使我无法直接查询允许我获取动态生成的网站 (urllib/2) 的 URL。

如何通过 python 检索使用上述函数(在 HTML 中)生成的网站的源代码?有没有办法绕过return false" href="#"?或者完全是onclick,然后获取实际的URL?

如果有其他方法可以从上面的抽象链接生成网站,以便可以从python中的urllib中获取,请参考。


编辑:

我概括了上面看到的代码 - 但是有人告诉我,必须对特定的 javascript 进行逆向工程才能使用它。

链接到 .js - http://a.quizlet.com/j/english/create_setku80j8.js

链接到网站的链接:

<a onclick="importText(); return false" href="#">Bulk-import data</a>

网站实际网址:http://quizlet.com/create_set/

上述相关.js的美化JS:http://pastie.org/737042

【问题讨论】:

  • 我是一名 Quizlet 开发人员。也许您可以告诉我如何提供帮助 :) 我们确实有可用的 API...

标签: javascript python onclick urllib2 urllib


【解决方案1】:

您可能需要对 JavaScript 进行逆向工程才能弄清楚发生了什么。

您能否提供相关网站和链接?

【讨论】:

  • quizlet.com/create_set - 你需要注册一个帐户>.>。如何对 Javascript 进行逆向工程?
  • 这样我就可以在不调用网络浏览器的情况下导入我的一组卡片。他们的 API 只允许调用而没有输入 <.>
  • 带有相关 importText() 函数的 JavaScript - a.quizlet.com/j/english/create_setku80j8.js.
【解决方案2】:

我没有立即在该脚本中看到任何内容生成或链接跟踪代码; importText 所做的只是切换是否显示几个 div。

如果您想研究 webapp 为执行特定操作而发出的调用,以便从机器人中重现它们,您最好查看浏览器发出的 HTTP 请求(表单提交和 AJAX 调用)在执行该动作时。您可以使用 Firebug 的“Net”面板来研究 Firefox 或 Fiddler 的 IE。

【讨论】:

  • 确实如此,让我再仔细看看网站的来源。
猜你喜欢
  • 1970-01-01
  • 2015-02-27
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
  • 2019-08-07
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多