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 に答える