Python:BeautifulSoup UnboundLocalError

Adr*_*ian 10 html python parsing beautifulsoup text-files

我试图从.txt格式的某些文档中删除HTML标记.但是,据我所知,bs4似乎有错误.我得到的错误如下:

 Traceback (most recent call last):
  File "E:/Google Drive1/Thesis stuff/Python/database/get_missing_10ks.py", line 13, in <module>
    text = BeautifulSoup(file_read, "html.parser")
  File "C:\Users\Adrian PC\AppData\Local\Programs\Python\Python37\lib\site-packages\bs4\__init__.py", line 282, in __init__
    self._feed()
  File "C:\Users\Adrian PC\AppData\Local\Programs\Python\Python37\lib\site-packages\bs4\__init__.py", line 343, in _feed
    self.builder.feed(self.markup)
  File "C:\Users\Adrian PC\AppData\Local\Programs\Python\Python37\lib\site-packages\bs4\builder\_htmlparser.py", line 247, in feed
    parser.feed(markup)
  File "C:\Users\Adrian PC\AppData\Local\Programs\Python\Python37\lib\html\parser.py", line 111, in feed
    self.goahead(0)
  File "C:\Users\Adrian PC\AppData\Local\Programs\Python\Python37\lib\html\parser.py", line 179, in goahead
    k = self.parse_html_declaration(i)
  File "C:\Users\Adrian PC\AppData\Local\Programs\Python\Python37\lib\html\parser.py", line 264, in parse_html_declaration
    return self.parse_marked_section(i)
  File "C:\Users\Adrian PC\AppData\Local\Programs\Python\Python37\lib\_markupbase.py", line 160, in parse_marked_section
    if not match:
UnboundLocalError: local variable 'match' referenced before assignment
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码如下:

import os
from bs4 import BeautifulSoup

path_to_10k = "D:/10ks/list_missing_10k/"

path_to_saved_10k = "D:/10ks/list_missing_10kp/"

list_txt = os.listdir(path_to_10k)

for name in list_txt:
    file = open(path_to_10k + name, "r+", encoding="utf-8")
    file_read = file.read()
    text = BeautifulSoup(file_read, "html.parser")
    text = text.get_text("\n")
    file2 = open(path_to_saved_10k + name, "w+", encoding="utf-8")
    file2.write(str(text))
    file2.close()
    file.close()
Run Code Online (Sandbox Code Playgroud)

问题是我在51320文档上使用了这个方法并且工作得很好,但是,有一些文档是不能做的.当我打开那些HTML文档时,它们对我来说似乎是一样的..如果有人能够指出可能存在什么问题以及如何解决它会很棒.谢谢!

文件示例:https://files.fm/u/2s45uafp

Ser*_*hii 1

https://github.com/scrapy/w3lib
https://w3lib.readthedocs.io/en/latest/

pip install w3lib
Run Code Online (Sandbox Code Playgroud)

from w3lib.html import remove_tags
Run Code Online (Sandbox Code Playgroud)

然后remove_tags(data) 返回清晰的数据。