在HTML页面上使用lxml的目标解析器方法

时间:2016-11-24 06:47:04

标签: python web-scraping lxml

我主要是一名c ++程序员,但我正在尝试在Python中进行一些网页抓取,并计划编写一个脚本,使用lxml确定网页上最常用的单词。为了尽可能高效地执行此操作,我不想实际构建元素树,而是通过页面解析并将每个单词插入到哈希表中。

但是,在尝试跳过构建树时,我遇到了几个错误。现在我的控制台正在说

'lxml.etree.HTMLParser' object is not iterable.

这是我的代码(从lxml介绍页面复制了大部分内容):

# classes
class ParserTarget: 
    events = []
    close_count = 0
    def start(self, tag, attrib): 
        self.events.append(("start", tag, attrib))
    def end(self): 
        events, self.events = self.events, []
        self.close_count += 1
        return events

website = "https://en.wikipedia.org/wiki/Miles_Mosley"
opened = urlopen(website)

parserTarget = ParserTarget()
parser = etree.HTMLParser(target=parserTarget)
events = etree.iterparse(opened, parser, html=True, recover=True)
print(parser_target.close_count)

我错过了什么,或者有更好的方法来做我需要的事情吗?提前致谢!

0 个答案:

没有答案