【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

RSS非対応サイトのURLを登録するとHTMLのアンカーが張られている箇所だけ収集して、RSS(XML)に変換しているサイトがありました。
どういう仕組みになっているのか知りたいのです。
URLからHTMLファイルをDLして、http://で始まるパスをマッチングさせて抽出しているのでしょうか。

その場合、PHPとjavascriptを使ってそういうことを作ることは可能なのでしょうか。
似たようなシステムを作られた方がいらっしゃったら
教えてください。

A 回答 (2件)

以前にexpatで試したときには実用的な速度にならなかったため断念しました。

某大手サイトのエンジニアの知り合いもPerlの正規表現でやっていると言ってましたし。
1項目の「見出し」と「リンク」だけを抜き出せば良いので、実際にパースする必要があるのはhtml全体の一部分であることが多いですね。例えば、<a href=" ([^"]+)"[^>]*>([^<]+)</a>?(([0-9]{4})/([0-9]{2}/([0-9]{2}))?)でリンクと見出しと日付が拾えますが、これを各サイトのhtmlに合わせていく必要があります。phpの場合、eregとpregがありますが、eregはpregの10倍ぐらい遅いので、pregで。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます。
さっそく、教えていただいた内容で
やってみようと思います。

お礼日時:2005/05/18 09:46

phpを使って正規表現でhtmlをパースしてます。

RSSには変換していませんが、DBに格納しているのでRSSにしようと思えばすぐ出来ますね。

参考URL:http://rio.st/news_index.php

この回答への補足

何度もすみません。的外れな質問かもしれないのですが、RSSの場合、PHPだとXMLパーサという関数を使ってXMLを解読?読み込んでいると思うのですが、この場合、XMLパーサでHTML文書をパースできるようにすればいいのでしょうか。
具体的にはexpatをHTML対応化にするためエレメントの終了タグの省略を許せばいいのでしょうか。
私の未熟なスキルでの質問なので、意味不明な部分はご指摘下さい。

補足日時:2005/05/18 00:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報