2011-07-10 31 views
1

私は物語の最後の章番号を楽しみのためにwww.fanfiction.netで見つけようとしています。このため、私はそれが固定パターンのURLを持っているので、私は存在しないURLを私に与える時まで章番号を増やすだけだと思った。fanfiction.netにURLがあるか確認してください

URLが、私はそれが> 400の応答エラーを与え、むしろ200レスポンスと一緒にメッセージを与えていないことが判明しかし、私はこのstackoverflow ques

でスクリプトを試してみ存在していたかどうかを検索します。ページが存在するかどうかを特定する最も良い方法は何でしょうか。ここで

は、実際にexistsを存在し、ここで私がそうすることができますどのようにdoes not exist

存在しないものであるリンクのですか?

EDIT 1

GregSchoenのおかげで、私はそれをうながしました。私はそれが正しいことを願って:)

resp.getheader( "last-modified"、None)の値をチェックアウトし、アクティブなリンクの日付とそうでないもののNoneを返します。たくさん

+1

または、最初の章をフェッチし、 'name =" chapter "'で 'select'タグを探し、そこに含まれる各' option'要素の 'value'を読み込み、章のリストを取得できます。 'BeautifulSoup'を使ってHTMLを解析することができます。 –

答えて

0

指定したURLに対してHEADリクエストを行うと、有効期限が切れているページではなくLast-Modifiedが設定されます。これは、サーバーが適切なHTTPコードで応答していないため、有効なページをキー入力する簡単な方法です。

+0

もう少し説明できますか?ヘッダーの最後に変更された変数を確認するにはどうすればよいですか? –

+0

コードは正常です。うれしかった。 – GregSchoen

0

おかげで、おそらくカールを使用し、100のバイトを読み、データだけの開始時に「FanFiction.Netメッセージタイプ1」を探してください?

0

そのウェブサイトには404というエラーがありません。これらのスクリプトはすべて役に立たなくなります。ウェブページ全体をダウンロードし、それが404ページのように見えるかどうか確認する必要があります。

私は実行していると思う:ページが<style>タグ(通常のページはいけない)で始まるよう

if (page.find('<style>') == 0): 

は、トリックを行います。

+0

私はページ番号を段階的に増やして、それが存在するかどうかを考えていたので、ページ全体をダウンロードする以外の方法で行うこともできます.... –

+0

実際には、 '404'メッセージ(見つからない)はありません与えられた。代わりに、 '200'メッセージ(成功)が与えられます。ページをダウンロードして、エラーページかどうかを確認する必要があります。 – Blender

関連する問題