簡體   English   中英

R getURL()返回空字符串

[英]R getURL() returning empty string

對不起標題,但我想不出該如何措辭。

我正在嘗試抓取網頁進行研究-最終將對它們進行一系列的語言測試。

同時...

    require(RCurl)
    url1 <- "http://www.coindesk.com/bitinstants-charlie-shrem-sees-bitcoin-battles-ahead"  
    url2 <- "http://www.coindesk.com/terms-conditions/"

    html <- getURL(url1)   # read in page contents
    html
    [1] ""

    html <- getURL(url2)   # read in page contents
    html
    [1] "<!DOCTYPE html>\r\n<!--[if lt IE 7]> <html class=\"no-js ie ie6 oldie\" lang=\"en\"> <![endif]-->\r\n<!--[if IE 7]>    <html class=\"no-js ie ie7 oldie\" lang=\"en\"> <![endif]-->\r\n<!--[if IE 8]>......."

因此,給定兩個URL,每個URL代表同一網站上的不同頁面url1的請求返回一個空字符串。 但是url2可以正常工作。

我嘗試添加瀏覽器代理為;

html <- getURL(url1, .opts=list(useragent="Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"))   # read in page contents

但這沒什么區別,仍然是一個空字符串。

我只是在學習R的第二天,現在我已經不知所措了!

任何人都可以提出發生這種情況的原因或解決方案,

要使其與RCurl一起使用,您需要使用

getURL(url1, .opts=curlOptions(followlocation = TRUE))

我希望我能告訴你為什么。 在Chrome瀏覽器中查看請求時,我看不到任何重定向,但也許我丟失了一些內容。

請注意,您還可以使用httr

library(httr)
GET(url1)

我不確定為什么 getURL不能處理該內容,但是來自包XML htmlParse似乎可以使內容正常。

嘗試這個:

> library(XML)
> htmlParse(url1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM