4

次の URL で、RCurl を使用してモバイル形式の Web ページをスクレイピングしようとしています。

http://m.fire.tas.gov.au/?pageId=incidentDetails&closed_incident_no=161685

このコードの使用:

library(RCurl)
options( RCurlOptions = list(verbose = TRUE, useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13"))
inurl <- getURL(http://m.fire.tas.gov.au/?pageId=incidentDetails&closed_incident_no=161685)

ユーザー エージェントを Chrome ブラウザのように設定しようとしたことに注意してください。これを行っても行わなくても得られる結果は同じです。Chrome で URL を表示すると、日付は次のようにフォーマットされ、タイムスタンプも表示されます。

Web ページ上のテキストのスクリーンショット

そして、HTML ソースは次のように一致します。

Last Updated: 24-Aug-2009 11:36<br>
First Reported: 24-Aug-2009 11:24<br>

しかし、R 内では、URL からデータを取得した後、日付は次のようにフォーマットされます。

Last Updated: 2009-08-24<br>    
First Reported: 2009-08-24<br>

ここで何が起こっているのですか?サーバーがブラウザ/Curlのユーザーエージェントまたは地域または言語などに応答し、異なるデータを返していると思いますが、これを変更するためにRCurlのオプションで何を設定する必要があるかわかりません.

4

1 に答える 1

0

サーバーが「Accept-Language」ヘッダーを期待しているようです:

library(RCurl)
getURL("http://m.fire.tas.gov.au/?pageId=incidentDetails&closed_incident_no=161685", 
       httpheader = c("Accept-Language" = "en-US,en;q=0.5"))

私のために働きます(返品First Reported: 24-Aug-2009 11:24<br>など)。HttpFox Firefox プラグインを使用してこれを発見しました。

于 2013-01-29T02:45:07.700 に答える