0

ドロップダウン リストで 1 つのオプションを選択し、リンクを「クリック」しないとアクセスできない Java スクリプト ページの HTML ソース コードを Web スクレイピングしたいと考えています。Java ではありませんが、簡単な例は次のとおりです。

この URL の下部にあるドロップダウン リストで利用可能なすべての言語でメインのウィキペディア ページを Web スクレイピングします: http://www.wikipedia.org/

そのためには、1 つの言語 (たとえば英語) を選択し、新しい URL (http://en.wikipedia.org/wiki/Special:Search) の左側にある [メイン ページ] リンクを [クリック] する必要があります。 ?search=&go=Go)。

このステップの後、ウィキペディアのメイン ページの HTML ソース コードを英語でスクレイピングします。

Rを使用してこれを行う方法はありますか? RCurl および XML パッケージは既に試しましたが、javascript ページではうまく機能しません。

Rでそれができない場合、誰かがPythonでこれを行う方法を教えてもらえますか?

4

2 に答える 2

3

これは、python とseleniumパッケージを使用して行うことができます。ここにいくつかの有用な例があります。ページ上の要素を識別できるように、Firebug をインストールすると役立つことがわかりました。また、インタラクティブなウィンドウを備えた Selenium Firefox プラグインも役立ちます。

import sys
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys   

driver = webdriver.Firefox()
driver.get("http://website.aspx")    

elem = driver.find_element_by_id("ctl00_ctl00")
elem.send_keys( '15' )
elem.send_keys( Keys.RETURN )
于 2012-03-11T21:45:49.427 に答える
2

フォーム情報をWebサイトに投稿し、その後データを処理するためのRCurlおよびXMLパッケージを確認してください。RCurlはかなりクールですが、HTMLの解析に問題がある可能性があります。これは、標準に準拠していない場合、XMLパッケージが適切に機能しない可能性があるためです。

ただし、Pythonの学習に興味がある場合は、上記のCeleniusの例とbeautifulSoupを組み合わせたものが必要です。

于 2012-03-12T04:22:28.720 に答える