如何过滤掉从html到文本转换的不重要文本?

时间:2018-02-22 14:20:51

标签: python html beautifulsoup request nltk

我正在抓几个网站加载他们的HTML内容并删除所有不必要的部分(标签等)。 我常常会看到很多不需要的词语,它们描述了网页的底部或网站的其他子页面。

def text_extractor(url):
    try:
        html = requests.get(url).text
        soup = BeautifulSoup(html,'lxml')
        for script in soup(["script","style","p"]):
            script.decompose()
        text = soup.get_text()
        lines = (line.strip() for line in text.splitlines())
        chunks = (phrase.strip() for line in lines for phrase in line.split("  "))
        text = '\n'.join(chunk for chunk in chunks if chunk)
        text = word_tokenize(text)
        url = str(url).replace('/','').replace('http:','').replace('https:','')
        name = 'textextractor_'+url+'.txt'
        f = open(name,'a')
        f.write(str(text))
        f.close()
        return text
    except requests.exceptions.ConnectionError:
        pass

我正在使用这个功能很好,但是大多数生成的令牌都是无关紧要的。是否有一种聪明的方法来获取与页面相关的文本并描述例如事件或类似的东西?

这些是不重要令牌的示例:  'JournalismBig','HollywoodNational','SecurityTechVideoSportsThe','WiresBreitbart','LondonBreitbart','JerusalemBreitbart','TexasBreitbart','CaliforniaPeoplebORE','HomeSubscribe','广告'

非常感谢!

0 个答案:

没有答案