问题标签 [spynner]

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 投票
1 回答
3187 浏览

javascript - Javascript 和 Spynner (Python)

我正在尝试抓取一个网站,是否需要使用 Javascript。我正在使用 Python 2.7 和 Spynner。这是脚本:

这是我在 Python 中的代码:

有些东西不起作用,因为 get_html 没有给我想要的 html 页面......

这是第一个网址:http ://www.zoover.it/italia/lazio/roma/galileo/hotel 。我用 browser.load() 加载这个页面,我得到了 HTML。在我尝试转到第 2 页后,使用 browser.runjs() 模拟点击。我在 onClick 上调用 javascript。然后,如果我再次调用 browser._get_html(),则 HTML 是相同的。谁能帮我?谢谢

0 投票
2 回答
188 浏览

python - 在 spynner 模块中使用 nativeClickAt() 方法的 Segfault

我不确定如何使用nativeClickAt()方法单击任意位置。

spynner 课程中,医生说:

我已经搜索了QT doc以确定什么是QPoint对象。所以它似乎是x,y坐标。

到目前为止我尝试了什么:

但是当我运行脚本时,我得到一个 segfault error

任何帮助将不胜感激。

0 投票
1 回答
1511 浏览

python - Spynner 不从 URL 加载 html

我使用 spynner 从网站上抓取数据。我的代码是这样的:

此代码无法加载整个 html 页面。这是我收到的 html:

我的问题是:如何加载完整的 html?

更多信息:

我试过:

但加载 html 永远不会完成或确定。问题是什么?我要疯了。

再说一遍:我在 Django 1.3 中工作。如果我在 Python (2.7) 中使用相同的代码,有时会加载所有 html。

0 投票
3 回答
2064 浏览

python - 使用 python 无头浏览器通过 https 查询下载文件

我尝试在网站上的 python 中进行网络抓取(使用 spynner 和 BeautifulSoup)。在某些时候,我想测试由以下 html 查询触发的 zip 文件下载:

如果在浏览器 (chrome) 中明确使用,这将触发下载具有给定名称的 zip 文件。我无法使用无头浏览器重现此行为。我知道这不是正确的方法,而是使用 spynner 之类的方法:

当然不起作用(没有 zip 文件下载)。最后一个打印语句显示我最终出现在一个错误页面上,并带有一个 java 异常堆栈。

有没有办法

  1. 在不使用 spynner 加载机制的情况下正确调用 html 查询?
  2. 捕获生成的 zip 文件?
  3. 用选定的名称下载它?

谢谢你的帮助。

在使用 java 调试器对 chrome 进行一些测试后,最后一件事是在浏览器中执行此操作时出现以下警告:

编辑:

发现拨打的电话是:

可以在浏览器中使用,应替换为

不能在 python 中使用,因为 URL 编码会映射%2F%252F

0 投票
1 回答
861 浏览

jquery - Python Spynner - jQuery 调用失败

编辑:虽然解决了原始问题,但代码实际上并没有做任何事情。在 Chrome 中测试,它会在密码框中插入“hi”。在 Spynner 中,它只是加载页面。

我正在尝试使用 Spynner 来抓取我学校用来提供在线时间表的网站。出于某种原因,我总是收到以下错误:

这是由以下代码引起的:

我也试过:

同样缺乏成功。将 JavaScript 命令粘贴到 Chrome 的 JS 控制台(在我注入 jQuery 之后)效果很好。

请问有人可以提供一些帮助吗?

谢谢!

0 投票
3 回答
12106 浏览

javascript - 在Javascript中将ID添加到按钮

我目前正在尝试找到一种使用 javascript 注入将 ID 添加到 html 按钮的方法。html 很简单,如下所示:

现在,如您所见,它没有 ID 或名称,因此在 Python 中使用 spynner 有点难以找到。我可以注入什么 javascript 来为这个脚本添加一个 ID?是否会让 javascript 搜索整个字符串,然后用添加的 ID 替换整个字符串?或者有更好的方法吗?

0 投票
1 回答
269 浏览

python - Python - 将 Spynner 窗口设置为特定大小

在 python 中使用,我正在寻找将窗口大小设置为spynner] Webview? I've looked through theQt Python 的正确方法Documentation and there does seem to be a way have a fixed size, but can't figure out how it implements in to。任何帮助表示赞赏。

http://doc.qt.io/qt-4.8/qwidget.html#setFixedSize

0 投票
0 回答
491 浏览

python - 如何将代理添加到 Spynner

此代码不会更改浏览器 ip。2ip.ru 显示我的真实 IP。

0 投票
2 回答
1614 浏览

python - Spynner:提交表单后获取第二页的html

我刚刚开始使用 Spynner 来抓取网页,但没有找到任何好的教程。我在这里有一个简单的例子,我在谷歌中输入一个词,然后我想查看结果页面。

但是我如何从单击按钮到实际获取新页面?

但现在呢?我什至不确定我是否点击了谷歌搜索按钮,尽管它确实有 id=gbqfba。我也试过 b.click("#gbqfba")。如何获得搜索结果?

我试过做:

但这仍然会打印初始页面。

0 投票
0 回答
335 浏览

javascript - 如何从动态形成的网页中检索标题

我正在使用 Django 开发书签应用程序,并希望从使用 javascript 生成标题的网页中提取标题。我查看了 windmill 并安装/运行了 selenium,这很有效,但我相信这些工具不仅仅是我获得网页标题所需的工具。我目前正在尝试使用 spynner,但在页面完全呈现后未能成功检索内容。这是我目前拥有的代码...

在 python shell 中执行最后一行时,我收到 SpynnerTimeout: Timeout reached: 10 seconds 错误。如果我再次执行最后一条语句,它将返回 True,但只返回运行 javascript 之前的页面,它没有“正确”的页面标题。我还尝试了以下方法:

但这也会返回不正确的标题 - “Coursera.org”(即运行 javascript 之前的标题)。

以下是我的问题:

  1. 是否有更有效的推荐方法来提取使用 javascript 动态生成的网页标题,该方法使用其他一些 python 工具/库?如果是这样,推荐的方法是什么?- 任何示例代码表示赞赏。
  2. 如果使用 spynner 是一个好方法,那么在页面加载后我应该怎么做才能获取标题,或者更好的是,在 javascript 呈现标题之后。我现在拥有的代码正是我从一篇博客文章中拼凑而成的,并在 github 上查看了 spynner 的源代码。