2016-08-08 13 views
-1

特定のフィールドのすべてのブログサイトをクロールしたい。たとえば。タイトル、説明、タグ、日付、著者など。私はscrapyライブラリをPythonでビルドしています。ブログサイトをスクラップするためのさまざまな方法/デザイン

各サイトで、htmlは異なるようになります。私は常にh1タグでタイトルを取得するわけではありません。すべてのブログサイトには異なる形式があります。私にはクロールしたいサイトが固定されていません。また、私は新しいサイトを掻きたいときに毎回コードを変更したくありません。

問題や挑戦が少なくて済むようにするためのベストプラクティス/デザインパターンを教えてください。私は各サイトの別のクラスで終わるファクトリパターンを使用することができます。私はそれが再び開発者の関与を必要とするので、それをしたくありません。

私は人間の関与を減らすことができる解決策を探しています。点では、ホストで実行し、管理する場所として

+1

あなたの質問は少し広すぎます。ヘッダー、記事本文、日付などのHTMLから特定の属性を見つけて抽出するには、さまざまな方法があります。それらのすべてを個々に調べたり開いたりする必要があります。 – Granitosaurus

+0

私はここだけで体について話しています。私はHTML本体に興味があります。 HTML本体の中には、それぞれのウェブサイトが異なるHTML構造を持っています。その共通パターンを定義するのは非常に難しいですが、ベストプラクティスを探していますので、スケーラビリティとメンテナンス可能なアプローチに終わることができます。 – SangamAngre

+0

このようなコンテンツを抽出するための正確なベストプラクティスは実際のサイトに依存する可能性が高いため、この質問はまだまだ広すぎます。 –

答えて

1

ない正確Factoryパターンが、設定や環境を維持するために人間の努力を減らすという点で、あなたはhttps://scrapinghub.com/scrapy-cloud/をチェックアウトする場合があります別のクモ

実際には、書き換え労力を削減するの私は通常、このようなリンクをナビゲートするため

  • 「ショーはもっと」タイプのJavaScriptボタンなどのJavaScriptの要素を扱うための1つのまたは2つのコードのナビゲーション個プラス第3のデータ収集定義

    1. を持っていることを学びました開く情報を収集する
    2. 私が探しているすべての分野で共通の一連の項目(救急処置) - このセクションをコピーして貼り付け、各サイトに適したxpathsを調整して、データが含まれている場所を探します

    これは、異なるサイト間で類似したデータを収集するための書き換えの労力を軽減するのに役立ちます。

    このように、たいていの場合、毎回完全に書き換えるのではなく、データの収集のためにxpathをナビゲートして調整するのに大部分の時間を費やしています。

    やや役立った希望...

  • 1

    これを行うquieいくつかのパッケージがありますが、それらのほとんどは、しかしlxmlの周りだけの巧妙なアルゴリズムです。最もよく知られているのはおそらくnewspaperで、記事のためにデザインされていますが、ブログポストなどでもうまく機能します。

    あなたはおそらく、ダウンロードメカニズムの新聞の使い方を非同期的な治療のダウンローダを使用するようにしたいと思うでしょう。

    +0

    これは本当に素晴らしいライブラリです。私は複数のサイトで試しています。このライブラリについて私が好きなのは、nlpもサポートしていることです。私のパイプラインにある次のステップ。私は非常に異なる構造を持っている少なくとも5つの異なるブログサイトで試してみるつもりです。ありがとう! – SangamAngre

    関連する問題