用于提取纹理的美化组

2024-04-28 23:45:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我对HTML不熟悉,我试图提取HTML的主体。但我必须首先过滤所有的文本元素。 在使用beauthoulsoup的方法get_text()时,我收到了一些意外的结果,如下所示。在

var suffix = device.type === "pc" ? ".pc" : ".mobile";requirejs.config({
paths: {
    "F": "http://y0.ifengimg.com/base/origin/F-amd-1.2.0.min",
    "FM":  "http://y0.ifengimg.com/commonpage/1130/F-amd-mobile-1.1.0.min",
    "debug": "http://y0.ifengimg.com/commonpage/1130/F-amd-mobile-1.1.0.min",

当然包含了文本,但是我不想要HTML的函数或其他元素。在检查HTML的代码之后,这些类型的函数或脚本似乎在两个元素<script>和{}之间

我想知道我是应该使用re模块还是{}来解决我的问题。在

已经通过方法extract()完成。。。 但又收到一个错误。看起来。。。 <img src***="1"/>

它仍然保留在soup.get_text()。不知道为什么它,作为一个标签,没有被提取出来。当然,我可以手动删除它,但对于程序员来说,这似乎并不优雅。在


Tags: 方法text文本comhttp元素gethtml
1条回答
网友
1楼 · 发布于 2024-04-28 23:45:46

嗯…看起来我们可以简单地提取它们(从你的HTML文件BeautifulSoup对象中删除它们):

>>> soup = BeautifulSoup('<p>Hello</p><script>console.log("A test!")</script>')
>>> soup.get_text()
'Helloconsole.log("A test!")'

>>> soup
<p>Hello</p><script>console.log("A test!")</script>

>>> soup.find('script')
<script>console.log("A test!")</script>

>>> soup.find('script').extract()
<script>console.log("A test!")</script>

>>> soup
<p>Hello</p>

>>> soup.get_text()
'Hello'
>>> 

但是,如果HTML文件中有更多的script标记,请使用soup.find_all(),如下所示:

^{pr2}$

相关问题 更多 >