2. BeautifulSoup


1. BeautifulSoup

  • リポジトリ
  • では、Webからインポートしたデータに必要な特定のラベルまたはラベル内のコンテンツを簡単に割り当てることができます.
  • bsを使用する場合は、目的の特定のタグを見つけてその値を取得することが重要です>HTMLを理解すること(
  • )

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


    1)取付

    pip install beautifulsoup4

    2)基本的な使い方

    import requests
    from bs4 import BeautifulSoup
    	
    url = 'http://www.naver.com'
    	
    response = requests.get(url)
    	
    if response.status_code == 200:
        html = response.text
        soup = BeautifulSoup(html, 'html.parser')
        print(soup)
    else :
        print(response.status_code)
  • htmlフルコード
  • をインポート

    3)特定ラベルの選択方法


    (0)条件


  • Googleでnaverを検索する画面に基づいて説明
  • (1) soup.find_all()

    soup.find_all('태그이름')
    soup.find_all(class_='클래스이름')
    soup.find_all(attrs={'class':'클래스이름'})
    soup.find_all(attrs={'id':'아이디'})
  • htmlでタグを検索する方法は、大きく3つあります.
  • ラベル名
  • の赤い箱のように、<div> <h3> <form>など<>に縛られたラベルで
  • を検索します.
  • クラス名
    クラス=
  • 緑のボックスなどのクラス名
  • id
  • の青い箱のように、id=「ユーザー名」、
  • のスープ.findと同じ
  • P.S. soup.find_all() vs soup.find()差異

    import requests
    from bs4 import BeautifulSoup
    
    url = 'https://www.google.com/search?q=naver&oq=naver&aqs=chrome..69i57j35i39j0i433i512l2j0i131i433i512j0i433i512l2j0i512l2.551j0j15&sourceid=chrome&ie=UTF-8'
    
    response = requests.get(url)
    
    if response.status_code == 200:
        html = response.text
        soup = BeautifulSoup(html, 'html.parser')
    
        h3 = soup.find('h3')
        h3_list = soup.find_all('h3')
        print('soup.find')
        print(h3)
        print('******************\n\n')
        print('soup.find_all')
        print(h3_list)
  • soup.find("h 3")=>最初のh 3タグ
  • を出力する
  • soup.find all("h 3")=>すべてのh 3タグを出力(
  • をリスト形式で出力)

    (2) soup.select()

    soup.select("#id")
    soup.select(".클래스이름")
    soup.select("태그 이름")
    soup.select("태그 이름 > 태그 이름")
  • IDの前に#を追加
    クラス名が前にあります貼り付け
    タグ名タグ名のみ使用
    子ラベル:親>子(直系)
  • soup.find all()よりも
  • が一般的です