【问题标题】:retrieving URLs from functions within HTML (python)从 HTML (python) 中的函数中检索 URL
【发布时间】:2014-06-26 17:21:20
【问题描述】:

我需要从一些零售商产品页面中抓取一些 URL,但我需要获取的特定 URL 不在页面的 html 部分中。每个项目的 html 看起来都是这样的

<div id="name" class="hand bold" onclick="AVON.productcontrol.Go(45714);">ADVANCE TECHNIQUES Color Protection Conditioner Bonus Size</div>

我编写了以下代码来从页面中获取 URL,但是由于我需要的实际 URL 似乎没有存储在页面中,所以它没有得到我需要的:

def getUrls(URL):

"""input: product page url
    output: list of urls to products
"""
connection = urllib.urlopen(URL)
dom =  lxml.html.fromstring(connection.read())
selAnchor = CSSSelector('a')
foundElements = selAnchor(dom)
urlList = [e.get('href') for e in foundElements]

return urlList

有没有办法获得'onclick'之后的函数(我猜是AVON.productcontrol.Go(#);)带你去的链接?我不完全理解 html,虽然我读过一些关于 onclick 的内容,但我无法弄清楚 'onclick' 之后的函数是如何工作的。

【问题讨论】:

    标签: html python-2.7 onclick web-scraping


    【解决方案1】:

    为了找到点击后跳转到的 URL,您需要找到“Go”函数的 JavaScript 源代码并阅读并理解它。它隐藏在 HTML 页面直接或间接引用的标记或某个 JavaScript .js 文件中的某处。快乐挖掘!

    或者:您使用 Selenium (http://docs.seleniumhq.org/) 之类的工具自动化与网页的交互,并在您点击时检查它会将您带到哪里。

    【讨论】:

      猜你喜欢
      • 2013-06-27
      • 2015-08-31
      • 1970-01-01
      • 2014-10-28
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      相关资源
      最近更新 更多