【更新ing】【Python web_crawler】簡単爬虫類1データ取得---私のpython学習ノート1


萌新学爬虫ノート4歩
①データ取得②データ洗浄③データ分析④データ保存(④データ可視化)
Pythonの簡単な爬虫類①データ取得
  • 萌新学爬虫ノート4歩
  • python urlを介してインターネットリソースを取得
  • 1、urlとは何ですか.
  • 2、urlの構造
  • python urlリソースを取得するurllibツールパッケージ
  • 一、urllib.requestモジュール
  • 1、要求データurlopen方法
  • 2、web_crawler偽装---カスタムOpener
  • 二、urllib.parseモジュール
  • pythonはurlを通じてインターネットリソースを取得します
    1、urlとは何ですか.
    URL(Uniform Resource Locator、統合リソースロケータ)
    私たちは通常「ウェブサイト」と言っていますが、実際にはリソースの唯一のラベルです.
    2、urlの構造
    三大部分:第一部分:protocl耳熟能详:http、https
    第2部:hostname[:port]各種リソースファイルを格納するためのサーバまたはIP.ポート番号はデフォルトですが、httpプロトコルのデフォルトは80です.
    第3部:pathファイルの具体的な場所.
    例えば:https://+++www.csdn.net+++++/nav/python
    python urlリソースを取得するurllibツールパッケージ
    一、urllib.requestモジュール
    from urllib import request
    #   import urllib.request
        

    1、要求データurlopen方法
    ①まずRequestクラスオブジェクトをインスタンス化する
    url = request.Request("http://www.zongheng.com/", data=None, headers=None)

    最初のパラメータはurlがアクセスするリソースアドレスです.
    dataはサーバに渡されるデータ(フォームなど)である.例えば、「python」という単語をデータデータデータとしてサーバに送信します.
    Headersはサーバのヘッダ(アクセス者の個人情報)に渡され、headersを修正して爬虫類をブラウザに偽装する.その他のRequest()メソッド
    .add_headers          
    .add_data            
    ...
    

    ②urlopenでデータを取得する
    respond = request.urlopen(url, data=None, timeout=None)
    respond = respond.read().decode("utf-8")

    dataはRequestのdataと同じ意味である.timeoutは、アクセスタイムアウト終了を設定できます.時間単位は/sです.
    urlopen()の他の方法
    .read(x)                   x btyes(kb      b)   
    .readline()                  **  **    txt    
    .readlines()
    .info                       
    .geturl             URL
    .getcode               ,200404    
    ...

    ③respondクラスオブジェクトを復号するのはバイナリオブジェクトであり、テキスト操作を行うには復号が必要であることを忘れないでください.
    .encode()     
    .decode()     

    一般的にはgbk、utf-8があり、excelテーブルではgb 18030が一般的に使用されています.これにより、符号化と復号に関する詳細がわかります.
    homepage = respond.decode("utf-8")
    print(homepage)

    すべての完全なコード
    from urllib import request
    #    import urllib.request
    url = request.Request("http://www.zongheng.com/")
    #    Request     data=None, timeout=None      
    respond = request.urlopen(url, data=None, timeout=None)
    homepage = respond.read().decode("utf-8")
    print(homepage)

    2、web_crawler偽装-カスタムOpener
    urlopen()関数では、エージェントの使用、認証(アカウントパスワード検証)、クッキーの変更などの高度なHTTP機能はサポートされていません.この機能を実装するにはrequestモジュールのbuild_を使用する必要があります.Opener()メソッドは、独自のカスタムopenerオブジェクトを作成します.
    セッション:セッション制御.Sessionオブジェクトは、特定のユーザセッションに必要な属性および構成情報を格納します.
    Cookie:一部のサイトでは,ユーザのアイデンティティを判別するためにSession追跡を行うためにユーザのローカル端末に格納されているデータであり,ユーザクライアントコンピュータによって保存されている情報である.
    ①Openerを使用する手順1、特殊なハンドラインスタンスを持つオブジェクトの作成
    proxy_support = request.ProxyHandler({"http":"      IP:   "})
    ...

    2、Openerインスタンスオブジェクトを作成し、インスタンスに転送する
    opener = request.build_opener(prxy_support)
    

    3、インストールorシングルコール
    1、
    request.install_opener(opener)#   ,      
    ...urlopen(url...)#     urllopen
    2、
    opener.open(url) #     opener
    

    ②その他の特殊処理手順1、パスワード検証検証コードの問題はどのように解決するか分からないが、学習中、目視では手書きフォント認識(深さ学習)が必要である.内容が多いため、単独列——【Python web_crawler】爬虫パスワード管理
    二、urllib.parseモジュール
    parseモジュールはurlを解析して符号化するために使用され、サーバに要求を送信するときのurlは符号化する必要がある.1、urlencode()中国語などの特殊文字を符号化する