Python html 处理
我有一个包含俄语文本的 html 文件。我如何获取文本中的所有单词而不需要 html 标签、特殊符号等?
示例:
<html>...<body>...<div id='text'>Foo bar! Foo, bar.</div></body></html>
我需要:
['foo','bar','Foo','bar']
我尝试过nltk,但它不支持俄语单词。
I have a html file with russian text. How i can get all words in text without html tags, special symbols, etc ?
Example:
<html>...<body>...<div id='text'>Foo bar! Foo, bar.</div></body></html>
I need:
['foo','bar','Foo','bar']
I tried nltk, but it does not support russian words.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一定要尝试BeautifulSoup,它支持 Unicode。
Definitely try BeautifulSoup, it supports Unicode.
我正在使用 lxml 库来解析 xml/html。 lxml 适用于任何 unicode 数据。
I'm using lxml library to parse xml/html. lxml works good with any unicode data.
使用lxml。它可以删除标签、元素等:
如果是俄语文本,您会得到如下所示的标记:
错误处理是您的家庭作业。
Use
lxml
. It can strip tags, elements, and more:In case of text in russian you get tokens looking likes this:
Errors handling is your home assignment.
使用正则表达式删除标签。 Nltk 的重点是语言分析(名词与动词)和词义(语义),而不是字符串删除和模式匹配,尽管我可以看到有人感到困惑。
这是使用正则表达式的删除函数
Use regex to remove the tags. Nltk is all about language analysis (nouns vs verbs) and word meaning (semantics) not string removal and pattern matching although I can see how someoneaybe confused.
Here is a removal function using regex