问题标签 [ghost.py]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
142 浏览

javascript - 阻止 Ghost.py 中的确认/警报对话框

在我的 django 应用程序中,我使用Ghost.py来呈现带有一些 Javascript 的网页。问题是有时 JS 需要一段时间才能运行,并且 Ghost.py 认为我的 JS 脚本运行不正常,并提出典型的确认框,询问我是否要终止脚本。

在我的机器上,当它要求我终止脚本时,我看到确认框出现并按下“否”按钮。但是当它在 AWS EC2 实例中运行时,该确认框会导致死锁,因为它会一直等待有人按下“是”或“否”按钮。

有没有办法在每次出现确认框时自动按下“否”按钮?

我尝试使用:

还有这个:

关于该主题的文档很少。任何帮助表示赞赏。

0 投票
1 回答
563 浏览

javascript - Ghost.py 通过 javascript 链接

我遇到了 Ghost.py 的问题。我试图抓取的网站有一个分页列表的链接,该列表与 javascript 一起使用,而不是直接的 href。当我单击链接时,我真的不能等待选择器,因为每个页面上的选择器都是相同的,所以 ghost 不会等待,因为选择器已经存在。我不能假设我知道下一页上会有什么文字,所以等待文字是行不通的。等待页面加载也不起作用。几乎就像没有执行javascript一样。

Ghost.py 的文档似乎很少(如果您可以调用网站文档中的示例),因此很难弄清楚我能做什么,以及我可以使用哪些工具。有更多经验的人可以帮助我吗?

0 投票
1 回答
167 浏览

python - python Ghost.py 不支持的字段标记错误

我正在做的是这样的:

我收到“不支持的字段标签”错误

0 投票
2 回答
1709 浏览

python - 使用 Ghost 抓取数据

我想在以下链接上废弃一些数据:

http://www.six-structured-products.com/en/search-find/new-search#search_type=profi&class_category=svsp

我的目标只是在data.frame. 我不能简单地使用urlliburllib2检索静态数据,因为我需要通过单击按钮来模仿人类:Ghost或者Selenium是要走的路。

但是,我真的不明白如何翻译成代码“点击第 2 页”、“点击第 3 页”......以及获取总页数。

我的代码:

我被困在那里,不知道放哪个标识符而不是 XXX:

(我也会接受使用的解决方案Selenium

0 投票
1 回答
1355 浏览

python - Python:使用 Ghost 进行动态网页抓取

尝试从以下位置获取天气数据:http: //metservice.com/maps-radar/local-observations/local-3-hourly-observations

确实在这里找到了有关如何使用 Ghost 抓取动态内容的示例,但我还没有找到如何处理结果。

由于在交互式 shell 中运行时 ghost 似乎有问题,所以我使用

打印(结果)

将输出通过管道传输到文件:

python getMetObservation.py>proper_result

这是我的python代码:

from ghost import Ghost
url = ' http://metservice.com/maps-radar/local-observations/local-3-hourly-observations '
gh = Ghost(wait_timeout=60)
页面,resources = gh.open(url)
结果, 资源 = gh.evaluate("document.getElementsByClassName('obs-content');")
print(result)

在检查文件时,它确实包含我想要的内容,但它也包含大量我不想要的信息。也不清楚如何使用评估返回的变量结果。检查 ghost.py 它似乎是由

self.main_frame.evaluateJavaScript("%s" % script)

在:

def evaluate(self, script):
"""评估页面框架中的脚本。

:param script:要评估的脚本。
"""
返回 (
self.main_frame.evaluateJavaScript("%s" % script),
self._release_last_resources(),
)

当我执行命令时:

document.getElementsByClassName('obs-content');

在 Chromium 控制台中,我得到了正确的响应。

我是python的初学者,但愿意学习。另请注意,如果重要的话,我会在 Ubuntu 下的 python 虚拟环境中运行它。

0 投票
1 回答
550 浏览

python - 如何使用 ghost.py 从 iframe 获取数据?

我正在尝试使用 iframe 抓取网站,所以当我ghost.show() 看到我的结果时,我通常会看到我的结果,所以 iframe 已被填充,但是当我这样做后ghost.content 它返回 iframe 为空,认为它是为了安全而完成的,但我怎样才能获得这些数据?谢谢你,抱歉英语不好。

0 投票
1 回答
285 浏览

python - 有没有办法在浏览器中打开 ghost.py 的同一页面?

所以我正在打开一些页面ghost.py

在那个用户去某个地方之后,所以我不知道 url 也不知道操作。有没有办法用代理和 coockies 和 url 捕获页面并在任何浏览器(firefox 或 chrome 或ETC..)?

谢谢你。

0 投票
0 回答
1323 浏览

python-2.7 - 在 Windows 7 和 Python 2.7.9 上安装 SIP/PyQt4/Ghost

在寻找答案之后,由于我是 python 新手并且知识不够,我真的需要帮助。

它从我需要使用 ghost.py 开始。对于这个安装,我需要 PyQt,在此之前我需要安装 SIP。因此,当下载SIP时,我尝试按照说明进行操作,并且在运行 python configure.py 之后,我需要运行“make”,然后运行“make install”。我的问题是 - 我在哪里可以获得运行“make”的软件?我试过 GNU make - 这行得通吗?因为它似乎失败了,给我胡言乱语....

安装 PyQt 也需要这个,所以它会帮助我两次 :)

提前感谢西万

0 投票
1 回答
465 浏览

python - 将代理与幽灵一起使用

它已经在这个问题ghost.py 和 proxy中讨论过,但答案对我来说似乎并不明确。

我安装了 ghost 并且还有一个代理(主机是host=http://XXXXXXXXand port=7676)。

但我得到一个空html字符串。我也尝试过,ghost.set_proxy(type_='https', host=host, port=port)但失败了(html字符串仍然为空)。

当家里没有代理(因此没有线路ghost.set_proxy(type_='http', host=host, port=port))时,它可以工作。

我是 udner a Win 64 Bits OS,代理已经入驻Advanced Settings。你知道我错过了什么吗?

0 投票
1 回答
240 浏览

python - 第一次执行代码时出现“TypeError:‘null’不是对象”

当我执行闲置代码时,Ghost 给了我这个错误:

但是当我使用 pdb 并再次执行最后两行时,一切都很好。有人知道为什么吗?