2011-01-25 8 views
2

RSSフィードを提供する多くのウェブサイトやブログがありますが、一方ではないものもたくさんあります。私はこのタイプのWebページをRSSフィードに変えたいと思っています。プログラムでどのWebページをRSSフィードに変換するのですか?

私はFeed43Page2rssDapperなどなどのGoogleを通じて使用して、いくつかの解決策を見つけましたが、私は、このタスクまたはそれについて説明する任意のチュートリアルを実行することができますオープンソースプロジェクトをしたいです。

ご意見をお聞かせください。説明できる場合は、大歓迎です。

私の言語はPHPです。

+0

達成したいことの詳細を説明する必要があります。たとえば、Page2RSSは単にページ変更のフィードを作成しますが、Feed43はページのコンポーネントを分割してフィードコンテンツとして使用します。いずれにせよ、それは混乱です。ほぼすべてのサイトがRSSフィードを提供しています。おそらくフィードでうまくいくコンテンツを持っていないものはありません。あなたの意図や希望する結果についてもう少し私たちに伝えることができれば、おそらく良い答えを提供することができます。 – Brad

+0

すぐに使用できるソリューションはありません。 1つは、これを達成するためのプログラミングのスキルを持っている必要があります。そして、いくらかの時間を費やしました。各サイトについては、私は意味します。 –

+0

@ブラッド:まず最初にお返事いただきありがとうございます。ちょうど私はちょうどいくつかの見出しと、このウェブサイトのhttp://www.life123.com/のようなウェブサイトからその見出しについての小さな説明を選びたいと思います。とその説明、私はちょうどパーサーと私のPHPのスキルを使用する必要があると思う。 – Peeyush

答えて

6

RSSについては何も魔法はありません。私はあなたがゼロからRSSフィードを構築する方法を理解するために、このチュートリアルを読むことをお勧め:

http://www.xul.fr/en-xml-rss.html

その後、あなたのコンテンツから1を構築するためにあなたのPHPのスキルを使用します。一般的なHTMLからRSSへのスクレーパーは、 "html to rss converter"などを検索することでオンラインで見つけることができますが、これらのほとんどはホスティングされたソリューションになり、RSSフィードはそれほど大きくはありません。優れたRSSフィードを使用するには、生のHTMLだけでなく、シンジケートするコンテンツを理解する必要があります。私見では。

2

一般に、このようなものには、「1つのサイズはすべてを解決します」という解決策はありません。 RSSフィードを作成したいブログのHTML構造を調べ、興味のあるコンテンツを解析してRSSフィードに貼り付ける必要があります。ここで

は、あなたが開始得るのを助けるために、いくつかのPHPのものです:

解析HTML:

  • DOMDocument(HTML/XMLの構文解析のスイスアーミーナイフ)
  • SimpleXML(使いやすいが、有効なXMLが必要です)
  • Tidy(悪いHTMLをクリーンアップするために使用することができます)

理解RSSフィード:

PHPでそれらを構築するために、あなたは再びのDOMDocumentかのSimpleXMLを使用することができます。もう1つの選択肢は、RSSに変換するHTMLのフォーマットに応じて、XSLTスタイルシートを作成して変換できることです。

1

この質問には簡単で具体的な回答はありませんが、私はあなたを始めます。

まず、ソートのクローラを構築する必要があります。通常は、これをマルチスレッド化してサーバー上のバックグラウンドで実行する必要があります。これはサーバー上でPHPプロセスをフォークするのと同じくらい単純かもしれませんが、トラフィックの量に応じてより効率的な方法が見つかるかもしれません。

おそらく、DOMを読み込むのが最善の方法です。 http://php.net/manual/en/class.domdocument.php見出しを探し、それらの下にある段落に関連付けることを試みます。おそらく、サイトの半分以下のサイト(おそらくフィードを持っていないサイトからはるかに少ないサイト)は、組織的な方法でサイトを構成しないことに注意してください。しかし、それは始める場所です。

altテキストのように、あまりにも多くの要素属性が使用できます。また、時間の経過とともに、特定のテンプレートを使用して多くのサイトを見つけることができます。このサイトでは、直接処理するコードを記述することができます。

また、既存のフィードを読む必要があります。サイトにフィードがある場合は、フィードを生成する意味がありません。 SimplePieを使って始めましょうが、好きではない選択肢があります。 http://simplepie.org/

ページを解析したら、データベースのバックエンドでそのページを追跡して変更することができます。

そこからフィードを生成する必要があります。これを行うための多くのOOPクラスがあります。しばしば、私は自分自身を書くだけですが、それはあなた次第です。

関連する問題