lxmlを使ってHTMLページからすべてのURLとその名前を探したい。lxmlを使ってHTMLのすべてのリンクを取得する
私はこのURLを解析できますが、このことを知ることはできますが、lxmlを使用してすべてのURLリンクを見つけることができる簡単な方法はありますか?
lxmlを使ってHTMLページからすべてのURLとその名前を探したい。lxmlを使ってHTMLのすべてのリンクを取得する
私はこのURLを解析できますが、このことを知ることはできますが、lxmlを使用してすべてのURLリンクを見つけることができる簡単な方法はありますか?
from lxml.html import parse
dom = parse('http://www.google.com/').getroot()
links = dom.cssselect('a')
偉大な答えは、ちょうど 'ピップインストールcssselect'をオフにする必要があった。 – taystack
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
cssselectはスタンドアロンのプロジェクトになっており、もうlxmlが付属していないことに注意してください。 'pip install cssselect'でインストールしてください。詳細については、[here](https://pythonhosted.org/cssselect/)にアクセスしてください。 – jheyse
HTMLをXMLではないことに注意してください。終わりの要素がないか、属性値の引用符がないために解析に問題がある場合は、[美しいスープ](http://www.crummy.com/software/BeautifulSoup/)が役立ちます。 –