问题标签 [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.
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 中有一些东西直到以后才使用。粘贴链接
python - BS4 如何在不使用 .text 的情况下获取文本?
这是来自网站的源代码布局:
我想获取 Google 地理编码的街道号码、路线和城市。如果我这样做
它带走了<br />
,我无法将路线从城市中分离出来。如果我这样做了,str().replace('<br />',', ')
那么我必须以某种方式将它再次转换回之前的任何类型,以便我可以.text
获取 之间的实际文本<a href>
,这是低效的。我想.text
使用用于获取实际文本的功能,而不是删除<br>
内容的功能。我找不到在我的环境中调用的文件BeautifulSoup.py
,所以我正在查看 GitHub 上的 BeautifulSoup 源代码,但我在其中找不到def text
,我不知道在哪里可以查看。
更新:
python - 使用美汤通过文本内容而不是文本来查找元素?
与.renderContents
此处类似,我想按该值进行搜索:Beautiful Soup [Python] and the extracting of text in a table
示例 HTML:
我尝试了什么:
但是, 的text
参数find_all
似乎不适用于此应用程序:IndexError: list index out of range
我需要做什么?
python - BeautifulSoup - 处理自闭标签的正确方法
我有一个带有一些自闭合标签的 html 文件,但 BeautifulSoup 不喜欢它们。
印刷
我必须手动检查每个标签是否自动关闭并进行适当修改,还是有更好的处理方法?
python - Python计数刮页上的数字或字母
我在 Python 中使用requests
.
然后我bs4
用来选择想要的div
. 我现在想计算该 div 中文本的长度,但我从中得到的字符串也包括所有标签,例如:
我只想计算Text here!
, 没有所有的div
anda
标签。
有人知道我该怎么做吗?
decode - 日文字符未正确解码
我目前正在使用 BeautifulSoup4 抓取一些日语网站。我在解码日文字符时遇到了一些问题。只有 '~' 和 'ー' 作为方形字符返回。有谁知道如何解决这个问题?该网站以“utf-8”编码。
这是我的解析代码:
提前致谢。
python - 如何从 HTML 数据中获取文本?
如何在使用 python 3 和 beautifulsoup 4 时以相同的排列方式获取所有文本。我尝试了一个 for 循环,但它没有用。
我的输出:
我的预期输出:
请注意,我的预期输出是蓝色然后是绿色,但实际输出只有两次蓝色。如何使输出具有正确的颜色并防止打印 html 标签?
python - ImportError:从launchd调用时没有名为bs4的模块
我在一个脚本中运行以下 python 导入,该脚本可以从终端的命令行和 ipython 笔记本正常工作。
当通过 Mac 启动从 .plist 文件调用它时,我收到以下错误:
从命令行和 ipython bs4 导入,脚本工作正常。这是似乎可以正常工作的 .plist 代码。不知道为什么脚本只有在被launchd调用时才能导入bs4。
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。
python - 抓取谷歌网络结果不起作用
为什么以下内容不能抓取谷歌的搜索结果?
尝试打开响应并抛出HTTPError
. 我已经查看了其他问题,据我所知,我已经正确完成了编码等。
我知道我没有包括捕获错误等,这只是一个缩小版本。