【发布时间】:2015-07-25 12:22:43
【问题描述】:
如何运行我在 python 的 html 标记中找到的 javascript?
html 中有一个标签,其中包含在单击 (onclick) 后运行的 javascript。
示例如下:
<span id="Handy2">
<span class="cust-type">0179... </span>
<a id="dspphone2" style="cursor: pointer;" class="t-info" onclick="jQuery( Handy2 ).load( '/ajax/detail/displayphonenumber.php?coded=MDE3OS8gNjk2MTA5Mw--&adno=140305860&adsource=quoka+online&catid=36_3210' )" data-trackl="Detail 36_3210">
anzeigen
</a>
</span>
我应该怎么做才能运行它并接收单击此按钮后可见的代码?
我主要使用 BeautifulSoup。
编辑:我知道如何使用 Selenium 来做到这一点,但我认为这太过分了。
【问题讨论】:
-
这不是矫枉过正。要运行 JavaScript,您需要将其提供给 JavaScript 解释器,而在 Python 中执行此操作的最简单方法是使用 Selenium 之类的东西。
-
不安全。可从任何地方调用(如果没有用户会话)。浪费服务器资源。将此数据放在页面内(隐藏输入等)并使用 javascript 调用。
-
HTML
<span id="Handy2"><span class="cust-type">0179... </span><a id="dspphone2" style="cursor: pointer;" class="t-info" onclick="jQuery( Handy2 ).load( '/timers.py/some_session_id/sometab/give_me_something' )" data-trackl="Detail 36_3210">anzeigen</a></span>PY#! /usr/bin/python # -*- coding: utf-8 -*- import cgi ,cgitb;cgitb.enable() from os import environ import time addr = environ['REQUEST_URI'] print "Content-Type: text/html;charset=utf-8" print print addr+"__"+time.strftime("%H:%M:%S")
标签: javascript python html web-scraping