Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-beautifulsoup-删除一行代码_Python_Html_Web Scraping_Beautifulsoup - Fatal编程技术网

python-beautifulsoup-删除一行代码

python-beautifulsoup-删除一行代码,python,html,web-scraping,beautifulsoup,Python,Html,Web Scraping,Beautifulsoup,我开始学习美丽的群舞。我试图从html脚本中删除一行包含的代码 文档中的大多数示例都针对整个标签(打开和关闭部分)。 是否可以只修改标记的一部分? 例如: </div> <div >Hello</div> <div data-foo="value">foo!</div> 你好 福! 如何仅删除代码的第一行?您可以使用BeautifulSoup指定无效标记,这将仅删除没有打开/关闭对应项的额外标记,同时保留其他标记: soup

我开始学习美丽的群舞。我试图从html脚本中删除一行包含
的代码

文档中的大多数示例都针对整个标签(打开和关闭部分)。
是否可以只修改标记的一部分? 例如:

</div>
<div >Hello</div>
<div data-foo="value">foo!</div>

你好
福!


如何仅删除代码的第一行?

您可以使用BeautifulSoup指定无效标记,这将仅删除没有打开/关闭对应项的额外标记,同时保留其他标记:

soup = BeautifulSoup(html_doc, 'html.parser')

invalid_tags = ['</div>']

for tag in invalid_tags: 
    for match in soup.findAll(tag):
        match.unwrap()

print(soup)
soup=BeautifulSoup(html\u doc,'html.parser')
无效的_标记=['']
对于无效\u标记中的标记:
用于汤中的火柴。findAll(标签):
匹配。展开()
印花(汤)
结果:

<div>Hello</div>
<div data-foo="value">foo!</div>
你好 福!
您无需执行任何操作,它将自动修复

from bs4 import BeautifulSoup

html_doc = '''</div> 
<div>World</div>
<div data-foo="value">foo!''' # also invalid, no closing

soup = BeautifulSoup(html_doc, 'html.parser')
print(soup)
从bs4导入美化组
html_doc=''
世界
“福!”也无效,没有关闭
soup=BeautifulSoup(html_doc,'html.parser')
印花(汤)
输出

<div>World</div>
<div data-foo="value">foo!</div>
世界
福!

unwrap()
用于移除而不是修复标记。

不应该
无效的\u标记=['']
['']
?我不知道,但这也有效,可能是首选约定,将更新,谢谢。