Python:从html搜索和收集文本字符串的更好方法。剥离减价,标签等

有很多模块,例如lxml,Beautiful汤,nltk和pyenchant,可以正确过滤出正确的英语单词。但是,然后是什么最干净的最短方法,例如html2text,如果也可以取消降价促销(我写的时候,右边有很多类似的问题)可能有一个通用的正则表达式可以删除所有的html。标签?


def word_parse(f):

    raw = nltk.clean_html(f) #f = url.content here, from "requests" module

    regex = r'[a-zA-Z]+' # | ^[a-zA-Z]+\b'

    match = re.compile(regex)

    ls = []

    for line in raw.split():

        for mat in line.split():

            try:

                v = match.match(mat).group()

                map(ls.append, v.split())

            except AttributeError, e:

                pass

有人可以建议一些好的代码片段吗?有人可以在这里建议更简洁,更优化的代码吗?


ibeautiful
浏览 128回答 1
1回答

心有法竹

我强烈建议您使用现有的库,而不要尝试为此编写自己的正则表达式。例如,其他人已经在“美丽汤”中投入了大量工作,您也可能会因此受益。对于这种特定情况,Beautiful Soup提供了get_text方法:text = BeautifulSoup(f).get_text()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python