1. Crawling


1.スクロール

  • スクロール(Crawling)およびスキャン(Scraping)によるWebデータの抽出動作
  • ローリングソフトウェアは、ローリング器(Crawler)
  • と呼ぶ.

    このスクロールはPythonベース


    2. urllib · request


    1)理論

  • urllib、requestモジュールは、要約検証、リダイレクト、CookieなどのURLまたはHTTPなどの関数およびクラス
  • を開くのに役立つ.
  • urlib.リクエストにより、
  • はWebリクエストとデータを簡単に取得できます.

    2)実験(urllib)


    (1) urlopen

  • HTTP要求を送信し、応答を戻り値として返す
    戻り値は変数に格納、出力可能
  • である.
    インストール
  • urllibライブラリ
  • pip install ullib3
  • インポートNAVER html
  • from urllib.request import urlopen
    
    response = urlopen('http://www.naver.com')
    print(response.read().decode("utf-8"))

  • 現在のNAVERのhtml情報
  • を取得する.

    (2) response.status

  • urlopenを介して伝達する応答オブジェクトにおいて、statusはHTTP応答コード
  • を記憶する.
    from urllib.request import urlopen 
    
    response = urlopen('http://www.google.co.kr')
    print(response.status)

    http応答コード説明100プロセスで200成功400クライアントエラー500サーバエラー

    (3) urlretrieve

  • urlretrieveを使用すると、urlが指すアドレスにアクセスし、ローカルコンピュータにリソースを格納できます.
  • は、記憶画像
  • もサポートする.
    import urllib.request
    
    url = "https://search.pstatic.net/sunny/?src=https%3A%2F%2Fi3.ruliweb.com%2Fimg%2F21%2F12%2F01%2F17d7164b9c05024a1.jpg&type=sc960_832"
    savename = "./여자가말대꾸.jpg"
    
    image = urllib.request.urlopen(url).read()
    
    with open(savename, mode="wb") as f:
        f.write(image)
        print('저장완료')
  • urlに必要な画像アドレスを入力すると、必要な写真を保存できます.

  • P.S.Naverの写真は保存できますが、Googleの写真は保存できません.以下のエラーが表示されます.
  • 解決
  • import urllib.request
    
    url = "https://w.namu.la/s/522e52e11fb15fab84cb581f2222a83c9fa3cb3f01913bf7c7bdad6c24384f55f51d8e4c4ac7ee4665fa42965f58ffe65b008ac9c46779c3e62655d81b740f2bf485ea32ef854b6025a3988aecf93773"
    savename = "./여자가말대꾸.jpg"
    
    req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
    image = urllib.request.urlopen(req).read()
    
    with open(savename, mode="wb") as f:
        f.write(image)
        print('저장완료')

    3) requests

  • urllibと同様に、HTTP要求を送信して応答を受信ことができるライブラリ
  • .
    pip install requests

    (1) get()

  • GETメソッド要求
  • import requests
    
    response = requests.get("https://jsonplaceholder.typicode.com/users/1")

    (2) post()

  • POSTメソッド要求
  • import requests
    
    response = requests.post("https://jsonplaceholder.typicode.com/users/1")

    (3) status_code


    チェック
  • 応答コード
  • import requests
    
    response = requests.get("https://jsonplaceholder.typicode.com/users/1")
    print(response.status_code)