问题标签 [robobrowser]

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 投票
3 回答
146 浏览

python - 我的歌词机器人不向服务器发送字符串

我在 python 中创建了一个歌词机器人。我正在使用 robobrowser 从genius.com 中删除歌词,但它不会将歌词发送给群组。

0 投票
0 回答
248 浏览

python - 解码 Unicode 时出现 Python3 RecursionError(用于 BeautifulSoup/RoboBrowser)

我正在使用 BeautifulSoup 和 RoboBrowser 开发一个网络抓取组件,并且在一个案例中遇到了一个奇怪的问题。有问题的页面包含与所有其他正常工作的案例相同的 chrome 和结构,但它的主要数据字段(一个整齐标记的 div)是一个巨大的行(大约 3000 个日语文本字符),没有换行符。它充满了很多 BR 标签(他们以一种相当可怕的方式使用它们来格式化表格......)和一些用于格式化的 SPAN 标签,但整个正文文本是单行的。

这似乎不应该是一个问题,但我的刮刀RecursionError: maximum recursion depth exceeded in comparison在吐出数百(可能数千)对这些相同的行之后死了:

我最初是在指责 BeautifulSoup,并认为 BR 标签的数量过多,但似乎问题实际上出在 Unicode 上。这是抛出它的代码:

我认为这可能是行长,因此我为什么要逐个解析 DIV 块,而不是一次完成整个事情,但这丝毫没有帮助。无论块多么小,该str(bsObject)函数似乎都会使 unicode 解析器陷入疯狂。

稍微加厚情节;我将页面源的整个文本作为一个长字符串复制到一个新的 Python 沙箱中,这样我就可以针对它测试不同的代码,而无需经常登录网站。即使在我通过 vi 运行文本并强制将其保存为 UTF8 之后,Python 也立即拒绝编译代码(抱怨它包含非 UTF8 字符)。但是,在文本中插入换行符以将其分成更小的块阻止了此错误的出现,尽管没有更改或删除文本本身的单个字符,此时脚本完美地编译并抓取了页面。

我不知道如何从这里开始。我无法控制我正在抓取的网站;我曾想过在 BeautifulSoup 接触之前将换行符强制插入 RoboBrowser 中的响应对象,这是一个可怕的 hack,但似乎可以解决问题,但我不知道该怎么做。谁能建议另一种方法?

(不幸的是,我无法链接到我正在从中抓取数据的页面,因为它是一个研究数据供应商,需要登录并且没有用于单个数据的永久 URL。)

编辑:在下面添加完整的堆栈跟踪...

0 投票
1 回答
1493 浏览

python - 使用 robobrowser 和 beautifulsoup 解析网页

我是网络抓取的新手,在使用 robobrowser 提交表单后尝试解析网站。我得到了正确的数据(当我这样做时我可以查看它:print(browser.parsed))但在解析它时遇到了麻烦。网页源代码的相关部分如下所示:

如果我做

我得到:

而不是琼斯,约翰。

我能够获得相关数据的唯一方法是:

这将返回 29 个列表中的每一个,每个 'tr' 我可以将其转换为文本并搜索相关信息。

我也尝试过创建一个 BeautifulSoup 对象:

但它丢失了所有标签/ID,所以我不知道如何在其中搜索。

有没有一种简单的方法可以让它使用 'tr' 遍历每个元素并获取实际数据而不是标签,以反对重复转换为字符串变量并通过它进行搜索?

谢谢

0 投票
1 回答
776 浏览

python - 使用 RoboBrowser 的不同网站响应

我正在尝试检索网站的 HTML。当我在 Chrome 中查看该页面时,我会看到一个带有日期和费率选项的表单。但是当我使用 RoboBrowser 请求该站点时,我看到了一个完全不同的简短 HTML 响应。我做错了什么?

我的代码:

结果:

0 投票
1 回答
1702 浏览

python - 导入 cookie - Robobrowser - Python

我正在寻找使用robobrowser. 所以我定义:

但是,browser没有cookie正确导入:

browser不会将我的 cookie 作为一个 cookie 导入,而是作为 3 个不同的 cookie... 作为Robobrowser基础Requests,我使用:如何使用 Python Requests 库在发布请求中发送 cookie?

谢谢你。

0 投票
1 回答
1932 浏览

python - Urllib3 socks5 代理错误:“socks”没有属性“create_connection”

我需要 Robobrowser 来使用 Tor,我认为最简单的方法是:Robobrowser with Sessions。但是我遇到了一个奇怪的请求问题,或者更具体的 urllib3:

AttributeError:模块 'socks' 没有属性 'create_connection'

Urllib3 文档中所述, create_connection 是袜子的一个属性。

urllib3 版本:1.19.1

请求版本:2.12.4

PySocks 版本:1.6.5

编辑:

堆栈跟踪:

0 投票
0 回答
117 浏览

python - 使用 python 下载游泳时间

我正在尝试从http://www.usawimming.org/DesktopDefault.aspx?TabId=1470&Alias=Rainbow&Lang=en-US自动下载许多游泳者的游泳时间。

游泳者的一个例子是姓“Rule”和名字“Remedy”的游泳者。(是的,真的有这样的游泳健将!)如果你在网站上填写这两个字段并点击搜索,它就可以工作。

然而,虽然下面的代码运行没有错误,但它最后并没有给我任何游泳结果:

我错过了什么?

0 投票
1 回答
5099 浏览

python - RoboBrowser 表单提交

我正在尝试使用 robobrowser 在网站上自动提交表单,但是在我提交表单后,我没有得到正确的响应,而是显示我所在的页面。这是我的代码

0 投票
1 回答
8020 浏览

python - Python RoboBrowser SSL 错误:握手错误:SysCallError(104,'ECONNRESET')

我正在尝试在网页上填写表格并使用 RoboBrowser 库获取一些结果。

我有一个包含约 200k 引用的文件,可能无法提供足够的答案(存储在 data[1] 中的街道名称可能与表单中所需的名称不同,并导致另一个页面打开)。如果响应不是预期的(主要是由于街道名称错误),我的代码运行并打印我想要获取的信息或打印“NS”。

但是,在随机时间之后(首先在大约 1300 个周期之后,然后大约 100-300 或更少),我得到:

我尝试在这里和那里添加 time.sleep(0.01) ,以为我正在超载页面,但它没有帮助。有人有想法吗?

我的代码:

我正在使用 Ubuntu 16.04.2 LTS 和 Python2.7

谢谢 !

0 投票
0 回答
156 浏览

python - 如何在 Robobrowser 中删除 TypeError

我正在尝试制作一个程序来重新发行我从大学图书馆拿来的书,因为我应该把我的书USER-ID放在表格中并提交,然后做剩下的代码。但我什至无法获取列出我所有书籍的页面,TypeError当我尝试打印列出我的书籍的页面的内容时,我得到了。

这是整个追溯。

这是我的代码。

和表格源代码。

有什么帮助吗?