我正在使用 Django 开发书签应用程序,并希望从使用 javascript 生成标题的网页中提取标题。我查看了 windmill 并安装/运行了 selenium,这很有效,但我相信这些工具不仅仅是我获得网页标题所需的工具。我目前正在尝试使用 spynner,但在页面完全呈现后未能成功检索内容。这是我目前拥有的代码...
from spynner import Browser
from pyquery import PyQuery
browser = Browser()
browser.set_html_parser(PyQuery)
browser.load("https://www.coursera.org/course/techcity")
在 python shell 中执行最后一行时,我收到 SpynnerTimeout: Timeout reached: 10 seconds 错误。如果我再次执行最后一条语句,它将返回 True,但只返回运行 javascript 之前的页面,它没有“正确”的页面标题。我还尝试了以下方法:
browser.load("https://www.coursera.org/course/techcity", wait_callback=wait_load(10))
browser.soup("title")[0].text
但这也会返回不正确的标题 - “Coursera.org”(即运行 javascript 之前的标题)。
以下是我的问题:
- 是否有更有效的推荐方法来提取使用 javascript 动态生成的网页标题,该方法使用其他一些 python 工具/库?如果是这样,推荐的方法是什么?- 任何示例代码表示赞赏。
- 如果使用 spynner 是一个好方法,那么在页面加载后我应该怎么做才能获取标题,或者更好的是,在 javascript 呈现标题之后。我现在拥有的代码正是我从一篇博客文章中拼凑而成的,并在 github 上查看了 spynner 的源代码。