Python 删除 Span 标签并覆盖 Txt 文件
Python Remove Span Tags and Overwrite Txt File
我想在 ping 之前从文本文档中删除 span 标签,否则它将失败,但我无法让它删除 span 标签并在没有标签的情况下再次保存文件或保存新结果成数组保存。
from bs4 import BeautifulSoup
with open(r'sitelist.txt') as f:
f = f.read().splitlines()
soup = BeautifulSoup(f,"html.parser")
while len(soup.find_all('span')) > 0:
soup.span.extract()
f = soup
return f
我尝试过分解或解包,但无法得到我想要的结果。
啊...str.splitlines()
return 一个列表,你不能只在列表上使用 BeautifulSoup()
。相反,只需将 f = f.read().splitlines()
替换为 f = f.read()
.
然后,您的代码就可以工作了,您只需要将输出写入文件就可以了吗?
from bs4 import BeautifulSoup
with open(r'sitelist.txt') as f:
f = f.read()
soup = BeautifulSoup(f, "html.parser")
while len(soup.find_all('span')) > 0:
soup.span.extract()
with open(r'sitelist.txt', 'w') as f:
f.write(str(soup))
如上所述,您不需要使用readline()
,只需使用read()
。
我不确定 extract 是否有效,是吗?
这是我的解决方案,它只是删除了 span 标签(我想这就是你问的):
from bs4 import BeautifulSoup
with open('sitelist.txt', 'r') as html:
soup = BeautifulSoup(myfile,"html.parser")
for match in soup.findAll('span'):
match.unwrap()
with open('sitelist.txt', 'w') as html:
html.write(str(soup))
我确定有一种方法可以打开文件进行读写,但我只是打开并重新打开文件两次。
我想在 ping 之前从文本文档中删除 span 标签,否则它将失败,但我无法让它删除 span 标签并在没有标签的情况下再次保存文件或保存新结果成数组保存。
from bs4 import BeautifulSoup
with open(r'sitelist.txt') as f:
f = f.read().splitlines()
soup = BeautifulSoup(f,"html.parser")
while len(soup.find_all('span')) > 0:
soup.span.extract()
f = soup
return f
我尝试过分解或解包,但无法得到我想要的结果。
啊...str.splitlines()
return 一个列表,你不能只在列表上使用 BeautifulSoup()
。相反,只需将 f = f.read().splitlines()
替换为 f = f.read()
.
然后,您的代码就可以工作了,您只需要将输出写入文件就可以了吗?
from bs4 import BeautifulSoup
with open(r'sitelist.txt') as f:
f = f.read()
soup = BeautifulSoup(f, "html.parser")
while len(soup.find_all('span')) > 0:
soup.span.extract()
with open(r'sitelist.txt', 'w') as f:
f.write(str(soup))
如上所述,您不需要使用readline()
,只需使用read()
。
我不确定 extract 是否有效,是吗?
这是我的解决方案,它只是删除了 span 标签(我想这就是你问的):
from bs4 import BeautifulSoup
with open('sitelist.txt', 'r') as html:
soup = BeautifulSoup(myfile,"html.parser")
for match in soup.findAll('span'):
match.unwrap()
with open('sitelist.txt', 'w') as html:
html.write(str(soup))
我确定有一种方法可以打开文件进行读写,但我只是打开并重新打开文件两次。