我需要用 python 做一些 HTML 解析。经过一些研究后,lxml 似乎是我最好的选择,但我很难找到可以帮助我完成我正在尝试做的事情的例子。这就是我听到的原因。我需要为所有可查看的文本抓取一个页面。去除所有标签和 javascript 。我需要它给我留下可查看的文本。听起来很简单..我用 HTMLParser 做到了,但它不能很好地处理 javascript
class HTML2Text(HTMLParser.HTMLParser):
def __init__(self):
HTMLParser.HTMLParser.__init__(self)
self.output = cStringIO.StringIO()
def get_text(self):
return self.output.getvalue()
def handle_data(self, data):
self.output.write(data)
def ParseHTML(source):
p = HTML2Text()
p.feed(source)
text = p.get_text()
return text
任何有关使用 lxml 或更好的方法来执行此操作的想法 HTMLParser..HTMLParser 最好,因为不需要额外的库..谢谢大家
斯科特·F.
最佳答案
我所知道的屏幕抓取库中没有“与 Javascript 配合得很好”——很难预测 JS 可以动态、有条件地改变 HTML DOM 的所有方式。
关于Python lxml 屏幕抓取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/814227/