3

使用 Chrome DevTools,您可以看到页面的 DOM 树。有没有办法使用 python 访问和拉出那棵树?

4

2 回答 2

5

我发现最好的方法是使用selenium.webdriver

import selenium.webdriver as webdriver
import lxml.html as lh
import lxml.html.clean as clean

browser = webdriver.Chrome() # Get local session of Chrome
browser.get("http://www.webpage.com") # Load page

content=browser.page_source
cleaner=clean.Cleaner()
content=cleaner.clean_html(content) 
doc=lh.fromstring(content)

doc 将 DOM 获取为lxml.html.HtmlElement

于 2012-09-21T15:35:05.967 回答
2

你用过 BeautifulSoup 库吗?本教程的这一部分可能会回答您的问题。 http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#解析树

然后,您还需要导入 Requests 库。

from BeautifulSoup import BeautifulSoup
import requests
url = 'http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html'
page = requests.get(url)
soup = BeautifulSoup(page.content)
print soup 
于 2012-09-21T15:25:13.107 回答