Python programming

(23.02.09.)Python ν”„λ‘œκ·Έλž˜λ°: Web Crawling, Web Scraping, BeautifulSoup

ν”„λ‘œκ·Έλž˜λ¨Έ μ˜€μ›” 2023. 2. 14.

Web crawling

 

 

  • 크둀링(Crawling)μ΄λž€ 사전적 의미둜 κΈ°μ–΄λ‹€λ‹ˆλ‹€λ₯Ό λœ»ν•˜κ³ , Webμ—μ„œλŠ” λŒμ•„λ‹€λ‹ˆλ©΄μ„œ μ›ν•˜λŠ” 정보λ₯Ό μˆ˜μ§‘ν•˜λŠ” ν–‰μœ„λ₯Ό μ˜λ―Έν•œλ‹€.
  • 크둀링의 λŒ€μƒμ€ μœ„μ—μ„œ μ–ΈκΈ‰ν•œ λŒ€λ‘œ μ›Ή 상에 μ‘΄μž¬ν•˜λŠ” 정보듀이며, ν•΄λ‹Ή μ •λ³΄λŠ” λ‹€μ–‘ν•œ ν˜•νƒœλ‘œ μ‘΄μž¬ν•  수 μžˆλ‹€.(이미지, ν…μŠ€νŠΈ, API λ“±)
  • 크둀링은 크게 두 κ°€μ§€λ‘œ λ‚˜λˆ„μ–΄ 질 수 μžˆλ‹€. (정적 크둀링 VS 동적 크둀링)
  • 정적 크둀링
    • νŠΉλ³„ν•œ 절차 없이 νŠΉμ • URL을 톡해 데이터 μˆ˜μ§‘ κ°€λŠ₯
    • μƒˆλ‘œκ³ μΉ¨ν•˜μ§€ μ•ŠμœΌλ©΄ νŽ˜μ΄μ§€ μ•ˆμ˜ λ°μ΄ν„°λŠ” λ³€ν•˜μ§€ μ•ŠλŠ”λ‹€.
    • 속도가 λΉ λ₯΄λ‹€.
    • μˆ˜μ§‘ λŒ€μƒμ— ν•œκ³„ μ‘΄μž¬ν•œλ‹€.
    • μ‚¬μš© κ°€λŠ₯ 라이브러리 : requests

​

  • 동적 크둀링
    • νŠΉλ³„ν•œ 절차 없이 νŠΉμ • URL을 톡해 데이터 μˆ˜μ§‘ λΆˆκ°€λŠ₯(넀이버 λ©”μΌμ˜ 경우)
    • 속도가 λŠλ¦¬λ‹€.
    • μˆ˜μ§‘ λŒ€μƒμ— ν•œκ³„κ°€ 거의 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€.
    • μ‚¬μš© κ°€λŠ₯ 라이브러리 : selenium

 

 

Web Scraping

 

μ›Ή μŠ€ν¬λž˜ν•‘μ€ 'μš°λ¦¬κ°€ μ •ν•œ νŠΉμ • μ›Ή νŽ˜μ΄μ§€μ—μ„œ 데이터λ₯Ό μΆ”μΆœν•˜λŠ” 것'.

μš°λ¦¬κ°€ νŠΉμ • 주제의 λ‰΄μŠ€λ§Œμ„ κ°€μ Έμ˜€κ±°λ‚˜, 인기 검색어 정보λ₯Ό κ°€μ Έμ˜€λŠ” 것, μ–΄λ–€ μƒν’ˆμ˜ 가격을 λͺ¨λ‹ˆν„°λ§ν•˜λŠ” 것 λͺ¨λ‘ μ›Ή μŠ€ν¬λž˜ν•‘μ΄λ‹€.

μš°λ¦¬κ°€ μ›ν•˜λŠ” νŠΉμ • μ›Ή μ‚¬μ΄νŠΈκ°€ 있고 κ·Έκ³³μ—μ„œ μš°λ¦¬κ°€ ν•„μš”ν•œ μ •λ³΄λ§Œμ„ κ°€μ Έμ˜€λŠ” 것.

κ·Έλž˜μ„œ μ›Ή μŠ€ν¬λž˜ν•‘μ„ μ›Ή 데이터 μΆ”μΆœ(web data extraction), μ›Ή ν•˜λ² μŠ€νŒ…(web harvesting)이라고도 λΆ€λ₯Έλ‹€.

 

 

 

 

 

 

BeautifulSoup

 

 

 

κ²°κ³Ό:

 

 

 

 

 

 

 

λŒ“κΈ€