次に、私はPythonの爬虫類を更新するためにいくつかの時間を使用します。
ウェブクローラは、3つのステップに分けることができます。
必要な要素をクロールまず確立要求。
第二に、分析情報をクロール無効なデータを除きます。
最後に、格納された情報をクロール。
最初の要求ライブラリ要求のLaijiangjiang第一歩今日
以下に示すように7一般的な要求ライブラリ関数がありますが、
そして、データ要求のタイプによって応答を作成
私たちは、例えば、Baiduのサイトをクロール
インポートRとして要求 T = r.get(" https://www.baidu.com/ " ) プリント(型(T))
実行結果は以下の通りです
<クラスのrequests.models.Response '>
[1.3Sに仕上げ]
だから、それを持っている属性は要求オブジェクト、など?
接続が成功したかどうかを確認することであるを行うために、データの事をクロールする最初のステップ
機能的な観点からSTATUS_CODEは()、カウント関数呼び出しの裁判官が成功した結果場合に返されますです
リターン結果が200であれば、それは結果が404を返された場合、接続に失敗し表し、接続が成功したことを意味します
インポートRとして要求 T = r.get(" https://www.baidu.com/ " ) プリント(型(T)) プリント(t.status_code)
戻り結果を図に示す。200、接続は成功です
そして、次のステップは、URLのコードを取得することですが、あなたはコードを取得する前に、一つのことを行う必要があり、応答の内容をコーディングます
異なるエンコーディングは、クロールの結果に影響を与えます
例えば、BaiduのURLます。https://www.baidu.com/
符号化モードを使用すると、ISO-8859-1であります
エンコーディングのエンコーディングを取得
以下
インポートRとして要求 T = r.get(" https://www.baidu.com/ " ) プリント(型(T)) プリント(t.status_code) プリント(t.encoding)
結果:
<クラスのrequests.models.Response '>
200
ISO-8859-1
もちろん、UTF8を使用して、いくつかのWebページ、また使用GBK、
別のエンコーディングは、私たちのソースコードが利用可能に影響します
また、手動で変更して得られた符号化を変更することができます
例えば:
インポートRとして要求 トン = r.get(" https://www.baidu.com/ " ) プリント(t.encoding) t.encoding = " UTF-8 " プリント(t.encoding)
結果
また、コードもapparent_encoding、モードを試すことができます
その後、我々はソースコードを入手することができ、我々は、出力文字列型を保存するためにソースコードが必要です
テキストを使用する必要があります
次のとおりです。
インポートRとして要求 トン = r.get(" https://www.baidu.com/ " ) プリント(t.text)
結果:
我々は、サイトに対応するソースコードを取得するようにするために、最初のステップは、爬虫類を完了します