1

http://www.vliz.be/vmdcdata/mangroves/aphia.php?p=browser&id=235056&expand=true#ct (这就是我要抓取的信息)

我想刮掉这些详细的分类树,以便我可以随意操纵它们。

但是获取这个树数据有一些问题。

  1. 我无法完全展开分类树。当一些扩展,一些折叠时,如指令所示。所以将整个页面保存为 html 文件不能解决我的问题。或者我可以多次重复该过程以获取单独的文件并将它们连接起来..但这似乎是一种丑陋的方式。

  2. 我厌倦了点击,有这么多“加”号,我必须等待。

有没有办法使用Python解决这个问题 ?

4

1 回答 1

0

使用Selenium,这将通过单击“加号”展开树,并在完成后获取包含所有元素的整个 DOM:

from selenium import webdriver
import time

browser=webdriver.Chrome()
browser.get('http://www.vliz.be/vmdcdata/mangroves/aphia.php?p=browser&id=235301&expand=true#ct')

while True:
      try:
          elem=browser.find_elements_by_xpath('.//*[@src="http://www.marinespecies.org/images/aphia/pnode.gif" or @src="http://www.marinespecies.org/images/aphia/plastnode.gif"]')[1]
          elem.click()
          time.sleep(2)
      except:
          break

content=browser.page_source
于 2012-10-22T08:38:48.210 回答