Dev.Op
Yollow ๐Ÿ“š
Dev.Op
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (701)
    • ์œ ์ตํ•˜์…จ๋‹ค๋ฉด ๊ด‘๊ณ  ํ•œ๋ฒˆ๋งŒ ํด๋ฆญ ๋ถ€ํƒ๋“œ๋ฆด๊ฒŒ์š”~ (0)
    • ---------------------------.. (0)
    • Stock (1)
      • ์Šˆํผ๋งˆ์ดํฌ๋กœ์ปดํ“จํ„ฐ (2)
    • ๐Ÿง์ „๊ธฐ์ฐจ (72)
      • ๐Ÿ„lg์—๋„ˆ์ง€์†”๋ฃจ์…˜ (0)
      • ๐ŸŠํ˜„๋Œ€์ž๋™์ฐจ (0)
    • ๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด (243)
      • ๐Ÿ’ปpython (85)
      • โž•C & C++ (1)
      • โ˜•๏ธTableau (32)
      • ๐Ÿ‘‹SQL & MySQL (20)
      • ๐ŸฌHTML & CSS (14)
      • ๐Ÿ“—JavaScript (31)
      • ๐Ÿ“˜Pspice & Excel (2)
      • ๐Ÿ“•Matlab & COMSOL & CATIA (6)
      • ๐Ÿ“™java & Servlete & JSP (29)
      • ๐Ÿ““Raspberry PI 4 (5)
      • ๐Ÿ”จAnsys (2)
      • DJango (0)
      • Flutter (3)
      • Typescript (0)
      • ๐Ÿ†Vue (5)
      • ๐Ÿ‹Docker (1)
    • ๐Ÿ“‹์ฑ„์šฉ๊ณต๊ณ  (0)
    • ๐Ÿ“WEB & ML & DL ํ”„๋กœ์ ํŠธ (27)
      • ๐ŸŒต2์ฐจ ํ”„๋กœ์ ํŠธ(LG) (9)
    • ๐Ÿงฉ์ผ์ƒ (89)
      • ๐ŸŒค์ฝ”๋”ฉ ๊ณต๋ถ€ ์ผ์ง€ (1)
      • ๐Ÿšด์ž์ „๊ฑฐ (5)
      • ๐Ÿ“ฐํ…Œํฌ (20)
      • ๐ŸฆFood & Cafe (5)
      • ๐Ÿ’‰์˜์–ด ๋„์ ์ด๊ธฐ (5)
      • โšก๋ฐœ์ „์†Œ (6)
      • ๐Ÿ“š๋…์„œ (1)
      • ๐Ÿ›ซ์—ฌํ–‰ (2)
      • ๐Ÿ“ˆ๋ธ”๋กœ๊ทธ๋งˆ์ผ€ํŒ… (6)
    • ๐ŸŒ๊ธˆ์œต (37)
    • ๐ŸŽจ์ทจ์—…End (16)
    • ๐Ÿ‘‹์ž๊ฒฉ์ฆ (150)
      • ๐Ÿ™ˆSQLD๊ฐœ๋ฐœ์ž (12)
      • ๐Ÿ”Œ์ „๊ธฐ๊ธฐ์‚ฌ (116)
      • ๐Ÿข์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (7)
      • ๐ŸŒŽADsP(๋ฐ์ดํ„ฐ๋ถ„์„์ค€์ „๋ฌธ๊ฐ€) (10)
      • ๐Ÿš™1์ข… ๋Œ€ํ˜• ์šด์ „ ๋ฉดํ—ˆ (1)
      • โญTableau Desktop Specialist (2)
    • ๐Ÿฅ‡๊ณต๋Œ€์ด๊ฑฐ์ €๊ฒƒ(๋ง‰ํ•™๊ธฐ) (24)
      • ๐Ÿ“๊ณตํ•™์ˆ˜ํ•™ 2 (1)
      • ๐Ÿบ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์‹ค์Šต (4)
      • ๐ŸŒCAE (10)
      • โœˆ๏ธ์ž๋™์ฐจ๊ณตํ•™์‹คํ—˜2 (0)
      • ๐Ÿšข์œ ์ฒด์—ญํ•™ (6)
      • ๐Ÿš—ํ˜„๋Œ€์ฐจ H-๋ชจ๋นŒ๋ฆฌํ‹ฐ ํด๋ž˜์Šค 1๊ธฐ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    ๊ณต์ง€์‚ฌํ•ญ

    • Vue, Typescript, React, Tableau,โ‹ฏ
    • ์ง„์ธ์‚ฌ๋Œ€์ฒœ๋ช…(็›กไบบไบ‹ๅพ…ๅคฉๅ‘ฝ)

    ์ธ๊ธฐ ๊ธ€

    ํƒœ๊ทธ

    • fluid mechanics
    • Python
    • lgํ™”ํ•™
    • ADsP
    • ์ „๊ธฐ์ฐจ ๋ณด์กฐ๊ธˆ 2021
    • ๋ธŒ๋ฃจํŠธํฌ์Šค
    • ์—”๋น„๋””์•„
    • ๋ฐฑ์ค€
    • rdfr
    • css
    • ์ž๋ฐ”
    • ์—…๋น„ํŠธ
    • ์‚ผ์„ฑ์ „์ž
    • ์•„์ด์˜ค๋‹‰5
    • ์œ ์ฒด์—ญํ•™
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์ „๊ธฐ์ฐจ
    • ๋ถ€๋“ฑ๋ฅ 
    • ํ…Œ์Šฌ๋ผ
    • ๋น…๋ฐ์ดํ„ฐ
    • ์—”์†”
    • vue btn
    • ๋””์นด๋ฅด๊ณ 
    • ๋น…๋ฐ์ดํ„ฐ๋ถ„์„์ค€์ „๋ฌธ๊ฐ€
    • ipad dual monitor
    • ์ง๋ ฌ๋ฆฌ์•กํ„ฐ
    • LG์—๋„ˆ์ง€์†”๋ฃจ์…˜
    • ์—๋””์Šจev
    • html
    • SMCI

    ์ตœ๊ทผ ๋Œ“๊ธ€

    ์ตœ๊ทผ ๊ธ€

    ํ‹ฐ์Šคํ† ๋ฆฌ

    hELLO ยท Designed By ์ •์ƒ์šฐ.
    Dev.Op

    Yollow ๐Ÿ“š

    ๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด/๐Ÿ’ปpython

    [Python] Couldn't find a tree builder with the features you requested: html/parser. Do you need to install a parser library? ์—๋Ÿฌ ์›์ธ/ํ•ด๊ฒฐ๋ฐฉ์•ˆ

    2022. 7. 15. 07:15
    ๋ฐ˜์‘ํ˜•

    ์›์ธ์ฝ”๋“œ

    import requests
    from bs4 import BeautifulSoup
    
    def get_exchange_rate(target1, target2):
        headers = {
            'User-Agent' : 'Mozilla/5.0',
            'Content-Type' : 'text/html; charset=utf-8'
        }
        
        response = requests.get("https://kr.investing.com/currencies/{}-{}".format(target1, target2), headers = headers)
        content = BeautifulSoup(response.content, 'html/parser')
        containers = content.find('span', {'data-test':'instrument-price-last'})
        print(containers.text)
        
    
    get_exchange_rate('usd','krw')

     

    ์‹ค์‹œ๊ฐ„ ํ™˜์œจ ์ •๋ณด ํฌ๋กค๋ง ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ, ํ™˜์œจ๋น„๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

     

    ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋กœ๋ด‡์ด ์ ‘์†ํ•œ ๊ฒƒ์ด ์•„๋‹Œ ์‚ฌ๋žŒ์ด ์ ‘์†ํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ ํ•˜์˜€๋‹ค.

     

    ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์ธ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ด์šฉํ•˜์—ฌ ์ ‘์†ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜์˜€๋‹ค.

     

    requess ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ๋ฒ ์ŠคํŒ…๋‹ท์ปด์— ์ ‘์†ํ•˜์—ฌ ์š”์ฒญํ•œ ์‘๋‹ต๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์˜ค๋ ค ํ•˜์˜€๊ณ , usd ์— ๋Œ€ํ•œ krw ๊ฐ’์„ ๊ตฌํ•˜๋ ค ํ–ˆ๋‹ค.

     

    Beautiful ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ html๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ, ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์ข‹๊ฒŒ ํ•˜๋ คํ–ˆ๋‹ค.

     

    ๊ทธ๋ฆฌ๊ณ  data-test ๋ฅผ instrument-price-last๋ฅผ ํ†ตํ•ด ์ตœ์‹  ๊ฐ’(๋งˆ์ง€๋ง‰ ํ™˜์œจ ๋ฐ์ดํ„ฐ)๋ฅผ ์ฐพ์•˜๋‹ค.

     

    ๊ทธ๋ฆฌ๊ณ  ํฌ๋กค๋ง์„ ์ง„ํ–‰ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ ค ํ•˜์˜€๋Š”๋ฐ...

    ์—๋Ÿฌ์ฝ”๋“œ

    ---> 12     content = BeautifulSoup(response.content, 'html/parser')
         13     containers = content.find('span', {'data-test':'instrument-price-last'})
         14     print(containers.text)
    
    c:\Users\bbeee\anaconda3\envs\py37\lib\site-packages\bs4\__init__.py in __init__(self, markup, features, builder, parse_only, from_encoding, exclude_encodings, element_classes, **kwargs)
        249                     "Couldn't find a tree builder with the features you "
        250                     "requested: %s. Do you need to install a parser library?"
    --> 251                     % ",".join(features))
        252 
        253         # At this point either we have a TreeBuilder instance in
    
    FeatureNotFound: Couldn't find a tree builder with the features you requested: html/parser. Do you need to install a parser library?

     

     

    BeautifulSoup๋ฅผ ์ด์šฉํ•˜์—ฌ, ๋ณดํ†ต HTML๊ณผ XML ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ,

     

    ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ์„œ

     

    ํŠธ๋ฆฌ๋ฅผ ํƒ์ƒ‰, ๊ฒ€์ƒ‰, ์ˆ˜์ •ํ•˜๋Š”๋ฐ ๊ฐ„ํŽธํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  ํŒŒ์„œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.

     

    ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ html/parser ์™€ lxml ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ํ•„์ž๋Š” html/parser๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŒŒ์‹ฑ์„ ์ง„ํ–‰ํ•˜๋ คํ–ˆ๋‹ค.

     

    BeautifulSoup ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ํ•ด๋‹น ์ค„์„ ๋ณด๋‹ˆ,

     

    ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋–ด์œผ๋ฉฐ,

     

    ์•Œ๊ณ ๋ณด๋‹ˆ / ๊ฐ€ ์•„๋‹Œ . ์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

     

     

    ํ•ด๊ฒฐ์ฝ”๋“œ

    content = BeautifulSoup(response.content, 'html.parser')

     

     

    ๋ฐ˜์‘ํ˜•
    ์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

    '๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด > ๐Ÿ’ปpython' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    ํŒŒ์ด์ฌ ๋ฒˆ์—ญ ํ”„๋กœ๊ทธ๋žจ (googletrans ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)  (0) 2022.08.11
    HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/win-64/current_repodata.json> ์—๋Ÿฌ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•  (0) 2022.08.11
    ํŒŒ์ด์ฌ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ - ์ˆซ์ž ๋งž์ถ”๊ธฐ  (0) 2022.06.15
    ํŒŒ์ด์ฌ์—์„œ ์•Œ์•„๋‘๋ฉด ์ข‹์€ ๊ธฐ๋Šฅ๋“ค  (0) 2022.06.14
    python - ์ž๋ฃŒ๊ตฌ์กฐ ๊ธฐ์ดˆ : DFS/BFS 1ํƒ„  (0) 2022.04.22
      '๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด/๐Ÿ’ปpython' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
      • ํŒŒ์ด์ฌ ๋ฒˆ์—ญ ํ”„๋กœ๊ทธ๋žจ (googletrans ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)
      • HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/win-64/current_repodata.json> ์—๋Ÿฌ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
      • ํŒŒ์ด์ฌ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ - ์ˆซ์ž ๋งž์ถ”๊ธฐ
      • ํŒŒ์ด์ฌ์—์„œ ์•Œ์•„๋‘๋ฉด ์ข‹์€ ๊ธฐ๋Šฅ๋“ค
      Dev.Op
      Dev.Op
      Interest: CS, Drive

      ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”