質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

2回答

8350閲覧

python2.7 スクレイピングを行うにあたって起こる2つの問題に関して

K_T_T_K

総合スコア231

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2015/09/23 08:28

python2.7を使ってスクレイピングを行っております。
スクレイピング中に起こる2つの問題の原因がわからず困っております。

環境:
Mac OS 10.9 / Python2.7

(1)urllib2.HttpErrorに関して。
時々、次ようなエラーが出て、スクレイピングが終了してしまいます。
urllib2.HTTPError: HTTP Error 500: Internal Server Error
このエラーがどういった時に起きるのか教えて頂きたいです。

(2)クローリングが止まる。(フリーズする)
スクレイピングは20秒間隔で、Webサイトにアクセスしスクレイピングしております。
ターミナルからスクリプトを実行し、
1]取得を始めます。(という文字をターミナルにprint)
2]——取得処理---
3](取得完了後)取得を完了しました(とターミナルにprint)
これを20秒間隔で繰り返しスクレイピングしております。
ここで言う、クローリングが止まる(フリーズする)というのは、
本来1]に20秒かかり、2]で取得処理に入るのですが、
20秒以上たっても(10分ほど待ってみました。)
1]のままです。

(1)、(2)も原因が解らず困っております。
どなたか何か原因知っている方いましたらアドバイス宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

(1) HTTP Error 500: Internal Server Error
500番台のエラーはサーバ側に原因があり、サーバがリクエストの処理に失敗したことを示します。
特に 500: Internal Server Error は、以下のようなケースで発生するようです。

  • たまたまサーバがメンテナンスのための再起動中などでダウンしている
  • アクセスが集中し、応答できない状態になっている
  • サーバ自体が過負荷状態にあるか、たとえばCGIプログラムに不備がある場合など
    → 一時的な不具合の場合も多いですがサーバ側の原因によりますので、しばらく経ってから再度アクセスしてみるしかありません。

(2) クローリングが止まる。(フリーズする)
こちらについては、アクセス量の関係で一時的に制限を受けている可能性もあります。

これを20秒間隔で繰り返しスクレイピングしております。

とありますが、一回にどれほどの時間/流量のアクセスが発生しているのでしょうか?
可能であれば、
2]——取得処理---
を分割し何回かに分けて実施する方法もあるかもしれません。

もしスクレイピングする対象のサーバが複数あるのであれば、処理のアルゴリズムを工夫し、並列処理をして全体の処理速度を落とさずに個々のサーバに対しては優しいアクセス方法にすることもできると思います。

投稿2015/09/23 09:30

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

... 500: Internal Server Error ...

接続先のサーバーがエラーを返してきているように思います。
手動でブラウザから そのエラーが起こるときの URL を指定してアクセスして、
画面表示やファイルダウンロードが行えますか?

投稿2015/09/23 09:14

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問