使用RCurl检索URL会提供与浏览器不同的日期格式

时间:2013-01-03 22:54:34

标签: r curl

我正在尝试使用RCurl抓取移动格式的网页,位于以下网址:

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中查看网址时,日期的格式如下,并带有时间戳:

Screenshot of text on web page

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的选项中设置什么来更改它。

1 个答案:

答案 0 :(得分: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插件发现了这一点。