【发布时间】:2014-01-24 03:06:18
【问题描述】:
我想使用 lxml 从 html 页面中找出所有 url 及其名称。
我可以解析 url 并且可以找到这个东西,但是有什么简单的方法可以让我使用 lxml 找到所有 url 链接?
【问题讨论】:
-
请注意,HTML 不是 XML;如果您因为缺少结束元素或属性值周围缺少引号而无法解析,Beautiful Soup 可以提供帮助,或者可能更适合。
我想使用 lxml 从 html 页面中找出所有 url 及其名称。
我可以解析 url 并且可以找到这个东西,但是有什么简单的方法可以让我使用 lxml 找到所有 url 链接?
【问题讨论】:
from lxml.html import parse
dom = parse('http://www.google.com/').getroot()
links = dom.cssselect('a')
【讨论】:
pip install cssselect 就可以开始了。
from lxml import etree, cssselect, html
with open("/you/path/index.html", "r") as f:
fileread = f.read()
dochtml = html.fromstring(fileread)
select = cssselect.CSSSelector("a")
links = [ el.get('href') for el in select(dochtml) ]
links = iter(links)
for n, l in enumerate(links):
print n, l
【讨论】:
pip install cssselect 安装。去here了解更多信息。