問題タブ [web-crawler]
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.
screen-scraping - プロプライエタリCMSからリソースを移行する方法は?
アクティブサーバーページを使用する独自のCMSからWebサイトを移行する必要があります。既存のサイトからリソースをダウンロードするのに役立つツールやテクニックはありますか?サイト全体をクロールしてスクレイプするツールを探していると思います。
追加の課題は、サイトがSSLを使用し、フォームベースの認証で保護されていることです。私は必要な資格情報を持っており、セッションを検証するCookieを取得できますが、ここからどこに行くべきかわからないため、既存のツールが役立つ場合は、車輪の再発明をしたくありません。
編集-私はWindowsOSを使用しています
javascript - HTMLドキュメントでJavaScriptリンクを抽出する方法は?
リンクに多くのJavaScriptを使用するWebサイト用の小さなWebスパイダーを書いています。
関数は次のようになります。
_urlの値を作成できるように、この関数をサーバー側で評価する最良の方法は何ですか?
c# - HTTPWebResponse+StreamReaderが非常に遅い
HttpWebResponse.GetResponse()とStreamreader.ReadToEnd()を使用してC#(数百のサイトのみ)で制限付きWebクローラーを実装しようとしています。また、StreamReader.Read()とループを使用してHTML文字列を作成しようとしています。
約5〜10Kのページのみをダウンロードしています。
それはすべて非常に遅いです!たとえば、GetResponse()の平均時間は約0.5秒ですが、StreamREader.ReadToEnd()の平均時間は約5秒です。
すべてのサイトは私の場所に非常に近く、サーバーが高速であるため、非常に高速である必要があります。(Explorerでは実質的にD / Lには何もかかりません)そして私はプロキシを使用していません。
私のクローラーには、同じサイトから同時に読み取る約20のスレッドがあります。これが問題を引き起こしている可能性がありますか?
StreamReader.ReadToEnd時間を大幅に短縮するにはどうすればよいですか?
web-crawler - Google 検索結果をダウンロードするには?
これがあまりにも無知な質問であるか、以前に尋ねられたことがある場合はお詫び申し上げます。ざっと見ても、これと完全に一致するものは見つかりませんでした。問題は、Google がインデックスに登録したすべての Word 文書をダウンロードするにはどうすればよいかということです。手作業で行うのは本当に大変な作業です...すべてのポインタに感謝します。
web-crawler - Web クローリングとその制限
直接の URL がわかっている場合に公開で評価できるファイルを Web 上に配置するとします。ファイルを指すリンクはなく、ディレクトリのリストもサーバー上で無効になっています。したがって、公開されている間は、このファイルへの正確な URL を入力する以外に、ページにアクセスする方法はありません。あらゆる種類の Web クローラー (善意または悪意のあるもの) が、ファイルをクロールしてからインデックスを作成することにより、このファイルを見つけることができる可能性はどのくらいですか?
私にとっては、一般にアクセス可能であっても、運やファイルを見つけるための特定の知識が必要になるでしょう。裏庭に金を埋めて、誰かに地図も知らずに見つけさせたり、そこに何かが埋められていることを知らなかったりするようなものです。
他の方法で発見されるとは思えませんが、それがスタックオーバーフローコミュニティに尋ねている理由です.
ありがとう。
php - PHP で google/yahoo/msn の Web クローラーを識別する方法は?
私の知る限り、
$_SERVER['REMOTE_HOST'] は「google.com」または「yahoo.com」で終了する必要があります。
しかし、それは最も確実な方法ですか?
他の方法はありますか?
web-services - アグリゲーターはどのように構築されますか?
多くのソース (旅行、テクノロジーなど) から特定のニッチに関連する情報を集約したいとします。どうすればいいですか?
必要な情報を見つけるために Web をクロールするスパイダー/クローラーを用意します (Web 全体を取得したくないので、クローラーに何をクロールするかをどのように指示しますか?) 次に、クロールした情報をインデックス化して整理し、検索エンジンにもなるインデックス作成システムを用意しますか?
Nutch lucene.apache.org/nutch のようなシステムは、私が望むものに使用しても問題ありませんか? 他に何かお勧めはありますか?
または、別のアプローチをお勧めできますか?
たとえば、Techmeme.com はどのように構築されているのでしょうか? (これはテクノロジー ニュースのアグリゲーターであり、完全に自動化されています。ごく最近、人間の介入が追加されました)。そのようなサービスを構築するには何が必要でしょうか?
または、Kayak.com はどのようにデータを集計していますか? (トラベルアグリゲーターサービスです。)
screen-scraping - 悪意のある Web クローラーの特定
不正利用のために情報を収集する Web クローラーを特定する手法があるかどうか疑問に思っています。端的に言えば、サイトのカーボン コピーを作成するためのデータ窃盗です。
理想的には、このシステムが不明なソースからのクロール パターンを検出し (Google クローラーのリストにない場合など)、偽の情報をスクレイピング クローラーに送信します。
- 防御側として、定期的にサイトにヒットする未知のクローラーを検出すると、攻撃者はその間隔をランダム化します。
- 防御側として同じエージェント/IP を検出すると、攻撃者はエージェントをランダム化します。
そして、これは私が迷子になるところです - 攻撃者が間隔とエージェントをランダム化した場合、同じネットワークからサイトにアクセスするプロキシとマシンをどのように差別しないのでしょうか?
疑わしいエージェントを JavaScript と Cookie のサポートでチェックしようと考えています。ボギーが一貫してどちらもできない場合、それは悪者です。
他に何ができますか?履歴データをオンザフライで迅速に分析するために設計されたアルゴリズムやシステムはありますか?
url - URL キューの構築
大規模な Web クローラーで URL キューを構築するにはどちらが適していますか。リンクリストまたはBツリー?