Python 3.6으로 웹 덮어쓰기

4560 단어 Python3
Python3.6 "Beautiful Soup"및 "Requests"라이브러리 활용
일본 경제 뉴스 」의 HP는 닛케이 평균 주가를 따내려 했다.

컨디션


Windows10(64bit)
Internet Explorer11
Python 3.6.4
pip 10.0.1

사용할 라이브러리


Beautiful Soup
Requests

라이브러리 설치

pip install BeautifulSoup4
pip install Requests

설치 확인

Package        Version
-------------- ---------
beautifulsoup4 4.6.0
requests       2.18.4

원하는 객체 확인


일본 경제 뉴스 」라고 말했다.

첫 페이지에서'일경 평균'을 확인할 수 있다.
Internet Explorer에서 일경 평균을 마우스 오른쪽 버튼으로 클릭하고 요소 검사를 클릭합니다.
그래서'개발자 도구'가 시작되었습니다. 이번에 얻고 싶은 대상은
span 요소가 Class = "m-miH01C rate"임을 이해합니다.

필요한 처리 확인


① 라이브러리 가져오기
② Requests로 HTML 가져오기
③ 얻은 HTML에서 BeautifulSoup4로 HTML 해석
④ 얻은 HTML 분석에서 "span"요소를 얻는다.
⑤ "span"요소 중 class "m-miH01C rate"를 가져옵니다.

부호화


kabuka.py
#日経平均平均株価
nikkei_heikin = ""

#①インポートします。
import requests
from bs4 import BeautifulSoup

#②HTMLを取得します。
url = 'https://www.nikkei.com/'
html = requests.get(url)

#③HTMLパース用のオブジェクトを作成します。
soup = BeautifulSoup(html.text,"html.parser")

#④「span」要素全て抽出します。
span = soup.find_all("span")

#⑤「span」要素をループします。
for tag in span:
    try:
        #⑥「span」要素から「class」をpopしていきます。
        string_ = tag.get("class").pop(0)
        #⑦摘出したclassの文字列にm-miH01C_rateが設定されているかチェックします。
        if string_ in "m-miH01C_rate":
            #⑧tagの文字列(日経平均株価)を取得します。
            nikkei_heikin = tag.string
            #⑨ループ処理を中断します。
            break
    except:
        #⑥'「span」要素から「class」をpopできなかった場合何もしません。
        pass

#⓾取得した日経平均株価を出力します。
print(nikkei_heikin)

실행

C:\>python kabuka.py
22,467.87
닛케이 평균 주가'를 기록했다.

좋은 웹페이지 즐겨찾기