问题标签 [bs4]

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 投票
2 回答
124 浏览

python - 如何在 bs4 url​​ 中使用扩展 ascii

我一直不愿意发布有关此的问题,但经过 3 天的谷歌搜索后,我无法使其正常工作。长话短说,我正在为 WoW 制作一个突袭装备追踪器。

我正在使用 BS4 来处理网页抓取,我可以拉出页面并从中抓取我需要的信息。我遇到的问题是当玩家的名字中有一个扩展的 ascii 字符时,例如:thermíte。(我是 alt+161)

我试图弄清楚如何重新编码网址,所以它更像这样:

我将 tkinter 用于 gui,我让用户从下拉列表中选择他们的领域,然后在输入字段中输入角色名称。

我有一个抓取功能,可以执行主要个人资料页面的初始抓取。这是我将 namefield 的值分配给全局变量的地方。(我试图将它直接传递给刮板)

我以为我很接近了,因为当它通过“thermíte”时,scrape 函数会打印出“therm\xC3\xADte”,我需要做的就是用 '%' 替换 '\x' ,我会是金色的。但这行不通。我可以使用 mastername.find('\x') 并且它会在字符串中找到它的实例,但是执行 mastername.replace('\x','%') 实际上不会替换任何东西。

我尝试了 r'\x' '\%' r'\x' 等的各种组合。没有骰子。

最后,当我尝试执行诸如编码为拉丁文然后解码回 utf-8 之类的操作时,我收到有关它如何无法处理扩展的 ascii 字符的错误。

这就是我一直用来尝试重建最终 url 的内容(atm 我将保持领域不变,直到我可以解决名称问题)

语言:

我正在尝试使用扩展 ascii 的 url,例如:

并让它成为浏览器可以轻松处理的网址,例如:

与所有正常的扩展 ascii 字符。

我希望这是有道理的。

这是完整脚本 atm 的 pastebin。atm 中有一些东西直到以后才使用。粘贴链接

0 投票
3 回答
3803 浏览

python - BS4 如何在不使用 .text 的情况下获取文本?

这是来自网站的源代码布局:

我想获取 Google 地理编码的街道号码、路线和城市。如果我这样做

它带走了<br />,我无法将路线从城市中分离出来。如果我这样做了,str().replace('<br />',', ')那么我必须以某种方式将它再次转换回之前的任何类型,以便我可以.text获取 之间的实际文本<a href>,这是低效的。我想.text使用用于获取实际文本的功能,而不是删除<br>内容的功能。我找不到在我的环境中调用的文件BeautifulSoup.py,所以我正在查看 GitHub 上的 BeautifulSoup 源代码,但我在其中找不到def text,我不知道在哪里可以查看。

更新:

0 投票
1 回答
83 浏览

python - 使用美汤通过文本内容而不是文本来查找元素?

.renderContents此处类似,我想按该值进行搜索:Beautiful Soup [Python] and the extracting of text in a table

示例 HTML:

我尝试了什么:

但是, 的text参数find_all似乎不适用于此应用程序:IndexError: list index out of range

我需要做什么?

0 投票
1 回答
1729 浏览

python - BeautifulSoup - 处理自闭标签的正确方法

我有一个带有一些自闭合标签的 html 文件,但 BeautifulSoup 不喜欢它们。

印刷

我必须手动检查每个标签是否自动关闭并进行适当修改,还是有更好的处理方法?

0 投票
1 回答
1382 浏览

python - Python计数刮页上的数字或字母

我在 Python 中使用requests.

然后我bs4用来选择想要的div. 我现在想计算该 div 中文本的长度,但我从中得到的字符串也包括所有标签,例如:

我只想计算Text here!, 没有所有的divanda标签。

有人知道我该怎么做吗?

0 投票
0 回答
62 浏览

decode - 日文字符未正确解码

我目前正在使用 BeautifulSoup4 抓取一些日语网站。我在解码日文字符时遇到了一些问题。只有 '~' 和 'ー' 作为方形字符返回。有谁知道如何解决这个问题?该网站以“utf-8”编码。

这是我的解析代码:

提前致谢。

0 投票
1 回答
168 浏览

python - 如何从 HTML 数据中获取文本?

如何在使用 python 3 和 beautifulsoup 4 时以相同的排列方式获取所有文本。我尝试了一个 for 循环,但它没有用。

我的输出:

我的预期输出:

请注意,我的预期输出是蓝色然后是绿色,但实际输出只有两次蓝色。如何使输出具有正确的颜色并防止打印 html 标签?

0 投票
3 回答
735 浏览

python - ImportError:从launchd调用时没有名为bs4的模块

我在一个脚本中运行以下 python 导入,该脚本可以从终端的命令行和 ipython 笔记本正常工作。

当通过 Mac 启动从 .plist 文件调用它时,我收到以下错误:

从命令行和 ipython bs4 导入,脚本工作正常。这是似乎可以正常工作的 .plist 代码。不知道为什么脚本只有在被launchd调用时才能导入bs4。

0 投票
1 回答
565 浏览

python-2.7 - 没有名为 bs4.element 的模块

我有一个导入 bs4 的脚本,如下所示:

我没有安装 bs4,而是将(来自http://www.crummy.com/software/BeautifulSoupbs4 )的目录包含在与我的脚本相同的目录中。beautifulsoup4-4.4.1

当我直接从命令提示符运行此脚本时(在 Windows 7 VirtualBox VM 上)

导入工作得很好(我的脚本的其余部分也是如此)。

但是我需要从一个更大的框架中运行这个脚本,它作为一个模块的一部分被其他一些 Python 代码调用。我不能更具体地说明这一点,因为该框架归我公司所有。

我的脚本被正确调用,直到它到达导入 bs4 的地步。我收到以下错误:

此代码在与上述相同的 Windows 7 VirtualBox VM 上运行。我确保 bs4 目录已打开PYTHONPATH(路径为C:\Users\me\path-to-bs4)。我知道找到了 bs4,因为当我在最顶部添加一个打印语句时,bs4/__init__.py我会在输出中看到结果。

我不知道是什么导致了这个问题。谁能指出我正确的方向?

我正在使用 Python 2.7.6。

0 投票
2 回答
480 浏览

python - 抓取谷歌网络结果不起作用

为什么以下内容不能抓取谷歌的搜索结果?

尝试打开响应并抛出HTTPError. 我已经查看了其他问题,据我所知,我已经正确完成了编码等。

我知道我没有包括捕获错误等,这只是一个缩小版本。