15 python-爬虫類の基礎認知、ステータスコード認知(リクエストステータスコード)


最も簡単な爬虫類を書きます
まず、私の環境を紹介します.
Ubuntu:18.04(64ビット)
IDE(開発環境と解釈され、何で書かれているか)
Python3.6
注意Python 2.XとPython 3.Xには文法の問題がありますが、状況によって異なります.
爬虫類サイトはhttp://www.xiaozhu.com/' 
         前にrequestリクエスト、responseレスポンス、OK最初の爬虫類が完成したと言いましたが、簡単ではありませんか.こんなにたくさんのコードを言わないでください.効果を見てください.この爬虫類はリクエストしたページだけです.
 
import requests
#        
headers={
    'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36'
}
#     
respones =requests.get('https://bj.xiaozhu.com/','headers=headers')
#        
print(respones)
#      ,    

      手に入れる:',これは何ですか.アクセスが成功したことを示します.   
  • ここでは何を知る必要がありますか.アクセスが成功したかどうか、戻り値がステータスコードであることを意味しますか.

  •  1 XX(情報類)
    このタイプのステータスコードは、要求を受信し、処理を継続することを示す.
  • ,100クライアントは要求を継続する必要があります.
  • 101、クライアントはサーバに要求に従ってHTTPプロトコルバージョンを変換するように要求する.

  •  2 XX(応答成功)
    このタイプのステータスコードは、動作が正常に受信され、理解され、受け入れられたことを示す.
  • ,200は、要求が正常に完了し、要求されたリソースがクライアントに送信されたことを示す.
  • 201、新しいファイルのURLを知るようにヒントを与えます.
  • ,202、受け入れて処理したが、処理は完了しなかった.
  • ,203は、情報が不確定または不完全であることを返す.
  • 204、要求を受信したが、返される情報は空である.
  • 205、サーバは要求を完了し、ユーザは現在閲覧したファイルをリセットしなければならない.
  • 206、サーバは既に一部のユーザのGET要求を完了している.

  •  3 XX(リダイレクトクラス)
    このタイプのステータスコードは、指定された動作を完了するために、さらなる処理を受けなければならないことを示す.
  • 300、要求されたリソースは、複数の場所で入手可能である.
  • 301、このページは、別のURLに永続的に移行されます.
  • 302、要求されたウェブページは新しいアドレスにリダイレクトされる.
  • 3,303は、ユーザが他のURLまたはアクセス方法にアクセスすることを推奨する.
  • 304は、前回のリクエスト以降、リクエストされたページは変更されていません.
  • 305、要求されたリソースは、サーバが指定したアドレスから取得する必要があります.
  • 306、前バージョンのHTTPで使用されたコードは、現在使用されていません.
  • ,307は、要求されたリソースの一時的な削除を宣言する.

  •  4 XX(クライアントエラークラス)
    このタイプのステータスコードは、要求にエラー構文が含まれているか、正しく実行できないことを示します.
  • ,400、クライアント要求に構文エラーがあります.
  • 401、許可されていないことを要求します.
  • 402、有効なChargeToヘッダ応答を保持する.
  • 403、アクセスが禁止され、サーバは要求を受信したが、サービスの提供を拒否した.
  • 404は、サーバに接続可能であるが、サーバは要求されたウェブページを取得できず、要求リソースは存在しない.
  • ,405,ユーザがRequest-lineフィールドで定義する方法は許可されない.
  • ,406は、ユーザが送信したAcceptに従って、リソースへのアクセスを要求する.
  • 407、401と同様に、ユーザは、まずプロキシサーバ上で認証を取得しなければならない.
  • ,408、クライアントは、ユーザが指定した時間内に要求を完了しなかった.
  • ,409現在のリソースステータスに対して、リクエストは完了できません.
  • ,410、サーバにはこのリソースがありません.
  • ,411,サーバは、ユーザ定義のContent-Longth属性要求を拒否する.
  • 412、現在のリクエストで1つ以上のリクエストヘッダフィールドがエラーです.
  • ,413で、要求されたリソースはサーバが許可するサイズより大きい.
  • ,414、要求されたリソースURLは、サーバが許可する長さよりも長い.
  • 415、要求リソースは要求項目フォーマットをサポートしていません.
  • ,246,要求にはRange要求ヘッダフィールドが含まれており、現在の要求リソース範囲内にrange指示値はありません.
  • ,247サーバは、Expectヘッダフィールドに指定された所望の値を要求しない.

  •  5 XX(サーバエラークラス)
    このタイプのステータスコードは、サーバまたはゲートウェイエラーを表します.
  • ,500、サーバエラー.
  • 501、サーバはリクエストの機能をサポートしていません.
  • 502、ゲートウェイエラー.
  • 503、サービスを受けることができません.
  • 504、ゲートウェイタイムアウト.
  • 505、httpバージョンはサポートされていません.

  • これだけのステータスコードは、シロにとって覚えられないもので、爬虫類をいくつか練習して、そこから蓄積すると、ほとんど分かります.