BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ๊ฒ web scraping์ ํ ์ ์๋ค.
BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ HTML, XML์ ๋ถ์ํด์ค๋ค.
์น ์ฌ์ดํธ์ html์ scrapingํ๊ธฐ ์ํด์๋ urllib ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจ๊ป ์ฌ์ฉํด์ผํ๋ค.
๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํจ๊ป ์ฌ์ฉํ์ฌ ์น ์ฌ์ดํธ์ html์ scrapingํ ์ ์๋ค.
urllib option
import urllib.request as request
url = "https://990427.tistory.com"
data = request.urlopen(url)
urlopen() ํจ์๋ url์ ํด๋นํ๋ ์น ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
BeautifulSoup option
from bs4 import BeautifulSoup
html = 'html info'
soup = BeautifulSoup(html, 'html.parser')
html ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ฑฐ๋ ์น์ฌ์ดํธ์์ ๊ฐ์ ธ์จ html ๋ฐ์ดํฐ๋ฅผ html๋ณ์์ ์ ์ฅํ๊ณ ,
html.parser์ ์ด์ฉํด ๋ถ์ํ ์ ์๋ค.
๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฉ์ณ์ url์ ํตํด ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋ค.
import urllib.request as request
from bs4 import BeautifulSoup
url = "https://990427.tistory.com"
html = request.urlopen(url)
soup = BeautifulSoup(html, 'html.parser')
result
๋ด ๋ธ๋ก๊ทธ Programming ์นดํ ๊ณ ๋ฆฌ์์ ๊ธ ์ ๋ชฉ๋ง ์ถ์ถํ๊ธฐ
from bs4 import BeautifulSoup
import urllib.request as request
url = "https://990427.tistory.com/category/Programming"
html = request.urlopen(url)
soup = BeautifulSoup(html, 'html.parser')
index = soup.select("div.article-info > span.title")
for title in index :
print(title.string)
result
๋๋จธ์ง ํจ์ ์ ๋ณด๋ www.crummy.com/software/BeautifulSoup/bs4/doc
'๐ Programming > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ์ ๋ ฌํจ์ sort(), sorted() ํ์ฉ (0) | 2022.02.06 |
---|---|
[Python] ์ํ๋ฒณ ๋๋ ์ซ์ ํ์ธ (isalpha , isdigit) (0) | 2022.02.05 |
[Python] input ๋์ sys.stdin.readline() ์ฐ์ (0) | 2022.01.30 |
[๋จธ์ ๋ฌ๋] train_test_split (๋ฐ์ดํฐ ๋๋๊ธฐ) (0) | 2021.10.19 |
[๋จธ์ ๋ฌ๋] scikit-learn (์ฌ์ดํท๋ฐ) (0) | 2021.10.19 |