0

Rプログラミングを使用したバイラルHeat APIを使用して、「冗談ではない」(たとえば)という感情を見つけようとしています。以下に示すように、RCurl パッケージで getURL を使用しました。

getURL(" https://www.viralheat.com/api/sentiment/review.json?text=i%20am%20happy&api_key= ", ssl.verifypeer=FALSE)

これは Google Chrome で正常に動作しています。しかし、IE では、ViralHeat API が IE Ver<9 に対応していないため、 「 https://www.viralheat.com/browsers 」にリダイレクトされます。

R_BROWSER 環境オプションを Google Chrome (デフォルトのブラウザー) に変更しました。ただし、上記の getURL コマンドを実行するとブラウザ ページにリダイレクトされるため、getURL は引き続き IE を使用します。IE のバージョンを 11 にアップグレードしました。しかし、まだブラウザ ページにリダイレクトされているため、viralheatAPI は IE でまったく動作しないようです。

誰もこの問題に直面しましたか?

4

1 に答える 1

0

RCurl によるリクエストはブラウザを使用しません。HTTP リクエストを作成するには、RCurl 独自のライブラリを使用する必要があります。

ほとんどの場合、Web サイトはリクエストの useragent 文字列をチェックして、何かが有効なブラウザであるかどうかを確認します。RCurl は、ブラウザのようにデフォルトで useragent 文字列を指定していないようです。Chrome になりすます場合は、http: //www.whatsmyuseragent.com/ にアクセスして、現在のユーザー エージェント文字列を確認してください。その値をRの変数にコピーしてから実行します

ua <- "<your full user agent here>"
getURL("https://www.viralheat.com/api/sentiment/review.json?text=i%20am%20happy&api_key=", 
    ssl.verifypeer=FALSE, .opts=list(useragent=ua))

これにより、ブラウザのスニッフィング手順を回避して、少なくとも API にアクセスできるようになります。

于 2014-06-25T21:39:21.850 に答える