問題タブ [rcurl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - RCurl を使用して PHP Web サイトにログインする
PHP Web サイトのコンテンツに R でアクセスしたい
http://centralgreen.com.sg/login.php?login=9-1501&password=mypassword
URLにログイン+パスワードの例を渡しましたが、URLからログインボタンを押す方法がわかりません。
可能であれば、R パッケージのRCurlを使用したいと考えています。
r - RCurlを使用してmediawikiにログインします
RCurl(またはCurl、およびRパッケージに適合させることができます)を使用してmediawikiにログインするにはどうすればよいですか?
ページを解析したいのですが、ログインする必要があります。そうしないとアクセスできません。
xml - readHTMLTable 関数を使用せずに、XML / RCurl R パッケージを使用して HTML テーブルを解析する
http://www.theplantlist.org/tpl/record/kew-419248および多くの非常に類似したページの単一の html テーブルからデータをスクレイピング/抽出しようとしています。最初に次の関数を使用してテーブルを読み取ろうとしましたが、各種の名前をその構成要素 (属/種/基種/著者など) に分けたいため、理想的ではありませんでした。
SelectorGadget を使用して、抽出する各テーブル要素への一意の XPATH を識別しました (必ずしも最短ではありません)。
属名の場合: // [contains(concat( " ", @class, " " ), concat( " ", "Synonym", " " ))]// [contains(concat( " ", @class, " " ), concat( " ", "属", " " ))]
種名の場合: // [contains(concat( " ", @class, " " ), concat( " ", "Synonym", " " ))]// [contains(concat( " ", @class, " " ), concat( " ", "種", " " ))]
種内ランクの場合: //*[contains(concat( " ", @class, " " ), concat( " ", "infraspr", " " ))]
種内名の場合: //*[contains(concat( " ", @class, " " ), concat( " ", "infraspe", " " ))]
信頼レベル (画像) の場合: // [contains(concat( " ", @class, " " ), concat( " ", "synonyms", " " ))]//img ソースの場合: // [contains(concat ( " ", @class, " " ), concat( " ", "ソース", " " ))]//a
情報をデータフレーム/テーブルに抽出したいと思います。
XML パッケージの xpathSApply 関数を使用して、このデータの一部を抽出してみました。
たとえば、種内ランクの場合
ただし、この方法はデータにギャップがあるため問題があります (たとえば、テーブルの一部の行だけが種以下のランクを持っているため、返されたのはテーブル内の 3 つのランクのリストであり、ギャップはありません)。データ出力も、データフレームへのアタッチに問題があったクラスのものです。
このテーブルからデータフレームに情報を抽出するより良い方法を知っている人はいますか?
どんな助けでも大歓迎です!
トム
r - 時間がかかりすぎる場合に RCurl::getURL() の実行を停止するには?
R または RCurl パッケージに、Web ページが指定された期間を超えた場合に Web ページのダウンロードをあきらめて、次のコード行に移動するように指示する方法はありますか? 例えば:
これは私のシステムでハングアップし、最終行に進みません。
編集:以下の@Richie Cottonの回答に基づいて、私が望むものを「ある程度」達成することはできますが、なぜ予想よりも時間がかかるのかわかりません。たとえば、次のようにすると、RGUI で [Misc >> Buffered Output] オプションを選択または選択解除するまで、システムがハングします。
解決策: 以下の @Duncan の投稿に基づいて、その後 curl ドキュメントを調べたところ、次のように maxredirs オプションを使用して解決策を見つけました。
よろしくお願いします。
トニー・ブレイアル
r - HTTPS で Rcurl を使用する
WindowsのRで次のコードを試しました:
しかし、次のエラーが発生します:
HTTPS の使用を許可するように RCurl を設定するにはどうすればよいですか?
r - ntlm プロキシ認証 rcurl の問題
私は ntlm プロキシ サーバーの背後にいて、rcurl オプションを正しく設定して動作させることができません。どうやら、次の正しい設定でうまくカールします。
しかし、これらすべてのオプションを R から正しく渡す方法がわかりません。
私はこれまでのところ持っています:
しかし、これはまだうまくいかないようです。
返信ありがとうございます。
r - RCurlオプションを表示する方法
Rセッションでcurlオプションの現在の設定を表示する方法はありますか?
私の問題は、プロキシの背後にいて、接続が機能するようにプロキシオプションを設定する必要があり、listMarts()関数(biomaRtライブラリからgetURL()を使用)を呼び出した後、オプションが変更(リセット?)され、関数を再度呼び出そうとすると、接続が機能しません。そのため、関数が呼び出される前後のオプションを確認したいと思います。
私が使用するオプションを設定するには:
(options()を呼び出すと、これらのオプションの設定を確認できますが、興味のある設定ではありません。RCurlオプションが必要です)
何か案は?
r - RCurl、エラー:接続タイムアウト
RのXMLパッケージとRCurlパッケージを使用して、Webサイトからデータを取得します。スクリプトは6,000,000ページをスクラップする必要があるため、ループを作成しました。
ただし、数回ループすると、次のエラーメッセージが表示されます。
curlPerformのエラー(curl = curl、.opts = opts、.encoding = .encoding):接続タイムアウト
問題は、「タイムアウト」がどのように機能するかを理解していないことです。プロセスが700ページ後に終了する場合もあれば、1000、1200ページなどの後に終了する場合もあります。ステップは安定していません。接続がタイムアウトすると、ラップトップからこのWebページに15分間アクセスできなくなります。コマンドを使用して、1000ページが廃棄されるごとにプロセスを15分間遅らせることを考えました
、しかし何も変わっていません。
何がうまくいかず、これをどのように克服するかについてのアイデアはありますか?
r - RCurl、エラー: ホストに接続できませんでした
Rstudio サーバーと、RCurl および XML パッケージを使用しています。Webページをスクレイピングしようとしましたが、一度成功した後、次のエラーメッセージが表示されました:
URLを取得しようとすると:
なぜこれが起こっているのですか?
r - RCurl は Web サイトの完全なソース テキストを取得しません - リンクが見つかりませんか?
RCurl を丁寧な Web クローラーとして使用して、Web サイトからデータをダウンロードしたいと考えています。明らかに、科学研究のためのデータが必要です。私は大学経由でウェブサイトのコンテンツにアクセスする権利を持っていますが、ウェブサイトの利用規約により、ウェブクローラーの使用が禁止されています。
サイトの管理者にデータを直接尋ねようとしましたが、非常に漠然とした回答しかありませんでした。とにかく、基礎となるデータベースを単純に私に送ってくれないようです。
私が今やりたいことは、各リクエストが実行されてから 3 秒の遅延を含む RCurl に基づく R コードを使用して、サイトから特定のテキストのみのコンテンツをダウンロードするための 1 回限りの許可を取得するように公式に依頼することです。
仕事からデータをダウンロードしたいサイトのアドレス: http://plants.jstor.org/specimen/サイトの ID
RCurl でプログラムしようとしましたが、実行できません。いくつかのことが複雑になります。
Cookieが許可されている場合にのみ Web サイトにアクセスできます(Cookiefile 引数を使用して RCurl で動作するようになりました)。
[次へ] ボタンは、通常のブラウザでさまざまなリンクをクリックして実際にサイトにアクセスした場合にのみ、ソース コードに表示されます。ソース コードでは、[次へ] ボタンは次のような式でエンコードされています。
サイトに直接アクセスしようとすると (以前に同じブラウザーでクリックしたことがなくても)、リンクのある行がソース コードに含まれていないため、機能しません。
サイトの ID は文字と数字の組み合わせ(「goe0003746」や「cord00002203」など) であるため、1 から 1,000,000 までのすべての数字を試行する for ループを R で単純に記述することはできません。
したがって、私のプログラムは、テキスト コンテンツを保存するたびに [次へ] ボタンを使用してすべてのサイトをクリックする人を模倣することになっています。
サイトのコンテンツを保存するたびに、[次へ] ボタンをクリックする前に3 秒待つ必要があります (丁寧なクローラーである必要があります)。Sys.sleep 関数を使用して、R でも動作するようになりました。
自動化されたプログラムを使うことも考えましたが、そのようなプログラムがたくさんあるようで、どれを使用すればよいかわかりません。
また、私は (少しの R を除いて) プログラムを書く人ではないので、Python、C++、PHP などでのプログラミングを含まないソリューションを本当に感謝しています。
どんな考えでも大歓迎です!コメントや提案を事前にありがとうございました!!