15 python-爬虫類の基礎認知、ステータスコード認知(リクエストステータスコード)
最も簡単な爬虫類を書きます
まず、私の環境を紹介します.
Ubuntu:18.04(64ビット)
IDE(開発環境と解釈され、何で書かれているか)
Python3.6
注意Python 2.XとPython 3.Xには文法の問題がありますが、状況によって異なります.
爬虫類サイトはhttp://www.xiaozhu.com/'
前にrequestリクエスト、responseレスポンス、OK最初の爬虫類が完成したと言いましたが、簡単ではありませんか.こんなにたくさんのコードを言わないでください.効果を見てください.この爬虫類はリクエストしたページだけです.
手に入れる:',これは何ですか.アクセスが成功したことを示します.ここでは何を知る必要がありますか.アクセスが成功したかどうか、戻り値がステータスコードであることを意味しますか.
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バージョンはサポートされていません.
これだけのステータスコードは、シロにとって覚えられないもので、爬虫類をいくつか練習して、そこから蓄積すると、ほとんど分かります.
まず、私の環境を紹介します.
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(情報類)
このタイプのステータスコードは、要求を受信し、処理を継続することを示す.
2 XX(応答成功)
このタイプのステータスコードは、動作が正常に受信され、理解され、受け入れられたことを示す.
3 XX(リダイレクトクラス)
このタイプのステータスコードは、指定された動作を完了するために、さらなる処理を受けなければならないことを示す.
4 XX(クライアントエラークラス)
このタイプのステータスコードは、要求にエラー構文が含まれているか、正しく実行できないことを示します.
5 XX(サーバエラークラス)
このタイプのステータスコードは、サーバまたはゲートウェイエラーを表します.
これだけのステータスコードは、シロにとって覚えられないもので、爬虫類をいくつか練習して、そこから蓄積すると、ほとんど分かります.