2

スコアリング/イベント時間とプレーヤー名http://en.gooooal.com/soccer/analysis/8401/events_840182.htmlをスクレイピングしようとしましたが、うまくいきません。

require(RCurl);
require(XML);
lnk = "http://en.gooooal.com/soccer/analysis/8401/events_840182.html";
doc = htmlTreeParse(lnk,useInternalNodes=TRUE);
x = unlist(xpathApply(doc, "//table/tr/td"));

通常の html ページには、テーブル コンテンツの詳細は表示されません。ノードはからのみ取得できます

>>> Chrome を開く >>> F12 をクリック >>> Element をクリック

誰か助けてくれませんか?どうもありがとう。

4

3 に答える 3

1

コンテンツが JavaScript を使用して非同期に挿入されたかのように聞こえるため、Curl を使用しても役に立ちません。

実際に JavaScript を解析して実行できるヘッドレス ブラウザが必要です (Ruby を知っている場合は、cucumber-selenium-chromedriver コンボを探し始めることができます)。または、実際のユーザーのブラウジングを実際に模倣するために、ブラウザをグリースモンキー/タンパーモンキーで使用するだけです。スコアスクレイピング。

于 2013-09-22T19:22:34.350 に答える
1

コンテンツは、(HTML) ページのロード後に (Javascript によって、ajax 呼び出しなどによって) 生成される可能性があります。Javascript を無効にした後、Chrome でページを読み込むことで確認できます。

RCurl に Javascript を実行するように指示することはできないと思います...

于 2013-09-22T19:23:31.383 に答える