Posts
Q&A
์์ ํ์ผ๋ก ์ ์ฅ์ ์ค๋ฅ ๋ฌธ์
ํ์ผ์ jupyter notebook์์ ์ด์ง ๋ง์๊ณ , ์์ฑ๋ ํด๋์ ๊ฐ์ ์ ์ด๋ฉด ๋ฉ๋๋ค.
- 0
- 3
- 1.6K
Q&A
50๊ฐ / 7๋ถ 14์ด / selector
@๊ฐํธ์ฑ๋ ์ถ์ถ์กฐ๊ฑด์ด ํน์ keyword๊ฐ ๋ค์ด๊ฐ ๋ฌธ์์ด์ด ์๋๋ผ ์ ํด์ง ์์น๋ผ๋ฉด.. ์ธํฐ๋ท์ ๋ค์ ธ๋ณด๋ ์ฒ์ ์ง๋ฌธํ์ จ๋ ๋ฐฉ๋ฒ๋๋ก ๋ฆฌ์คํธ์ ๋ช ๋ฒ์งธ๋ก ๋ฐ๋ก ์ ๊ทผํ์๋ ๊ฒ์ด ์ข์ง ์ถ๋ค์. ๊ตฌ๊ธ๋งํ๋ค๋ณด๋ ๋ช ๋ฒ์งธ ์์์ ์ ๊ทผํ๋ nth-of-type์ด๋ ๊ฒ๋ ์๋ค์. ๋๋ถ์ ๋ง์ด ๊ณต๋ถํ๋ค์. import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content, 'html.parser') item = (soup.select_one('ul#hobby_course_list li:nth-of-type(4)')) print(item.get_text())
- 0
- 4
- 414
Q&A
50๊ฐ / 7๋ถ 14์ด / selector
์ ์ง๊ธ ๊ฐ์ ๋ค์ผ๋ select()๋ก ์ถ์ถํ๋ฉด ์ข ๋ ๊น๋ํ๋ค์. 1. index๋ก ๊ฒ์ import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content, 'html.parser') items = soup.select('ul#hobby_course_list li') for index, item in enumerate(items): if index == 0: # ์ํ๋ index๋ฅผ ์ฃผ๋ฉด ๋จ. print(item.get_text()) 2. ์ํ๋ ๋จ์ด๋ก ๊ฒ์ import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content, 'html.parser') items = soup.select('ul#hobby_course_list li') for item in items: words = item.get_text().split('-')[1].split() for word in words: if word == "ํด๋์ค": # ์ํ๋ ๋ฌธ์๋ฅผ ์ฃผ๋ฉด ๋จ. print(item.get_text()) ๊ทธ๋ฆฌ๊ณ , ๊ทธ๋ฅ ์ฒซ๋ฒ์งธ๋ฅผ ์ํ์๋ ๊ฑฐ๋ฉด, ๋ค์ ๊ฐ์์ ๋์ค๋ select_one ์ ์ฌ์ฉํ์๋ฉด ๋๋ค์. ^^ ๊ฐ์ฌ๋ ์ด ๊ธ ๋ณด์ค์ง ๋ชจ๋ฅด์ง๋ง, ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค. ๊พธ๋ฒ
- 0
- 4
- 414
Q&A
50๊ฐ / 7๋ถ 14์ด / selector
์ ๋ ๊ณต๋ถ์ผ์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํด ๋ดค๋๋ฐ์. 1. ๋ช ๋ฒ์งธ ๊ฒ์ ๋ฝ๊ณ ์ถ๋ค. index ๋ฒํธ๊ฐ ์ผ์นํ๋ ๊ฒ ์ถ์ถ import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content, 'html.parser') ulSoup = soup.find('ul', id='hobby_course_list') titles = ulSoup.find_all('li', 'course') for index, title in enumerate(titles): if index == 0: # ์ํ๋ index๋ฅผ ์ฃผ๋ฉด ๋จ. print(title.get_text()) 2. ์ํ๋ ๋จ์ด๋ฅผ ์ถ์ถ ์ฒซ๋ฒ์งธ for๋ฌธ์์ ๋จ์ด๋ฅผ ๋ถ๋ฆฌํ๊ณ , ๋จ์ด๋ฆฌ์คํธ๋ฅผ ๊ฐ์ง๊ณ for๋ฌธ์ ํ๋ฒ ๋ ๋๋ ค์ ๋ด๊ฐ ์ํ๋ ๋จ์ด๊ฐ ์๋์ง ๋น๊ต import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content, 'html.parser') ulSoup = soup.find('ul', id='hobby_course_list') titles = ulSoup.find_all('li', 'course') for title in titles: words = title.get_text().split('-')[1].split() for word in words: if word == "ํด๋์ค": # ์ํ๋ ๋ฌธ์๋ฅผ ์ฃผ๋ฉด ๋จ. print(title.get_text()) ์์ง ๋ฐฐ์ฐ๋ ์ค์ด๋ผ ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ์๋ฐ... ์ผ๋จ, ์ง๊ธ๊น์ง ๊ฐ์ฌ๋๊ป ๋ฐฐ์ด ๋ด์ฉ์ ํ ๋๋ก ์ ๊ฐ ์๋ ๋ฒ์๋ด์์ ํ์ด๋ดค์ต๋๋ค.
- 0
- 4
- 414
Q&A
Jupyter notebook ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
๋น ๋ฅธ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ^^
- 0
- 2
- 234
Q&A
AttributeError: 'DataFrame' object has no attribute '_get_dtype_counts'
๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์ค๋ช ํด ์ฃผ์ ๊ฒ ๋ค์ ๊ธฐ์ต์ด ๋๋ค์. ๋ฒ์ ๋๋๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ชฐ๋ผ์ ๊ทธ๋ฅ ์งํํ๊ณ ์์ต๋๋ค. ๊ฐ์ ๋๋ฌด ์ฌ๋ฐ์ต๋๋ค. ๋์ค์ ๋์ฌ crawling ๋ฑ์ ๊ฐ์๋ ๊ธฐ๋๋๋ค์.
- 7
- 3
- 1.4K
Q&A
์ฌํํ์ต์ ์ํด
์น์ ํ ์ ๋ฆฌ๊น์ง ์ ๋ง ์ต๊ณ ๋ค์. ๋ค๋ฅธ ๊ฐ์์์ ๋ ๋ฐฐ์์ ์ป๊ฒ ๋๊ธธ ๊ธฐ๋ํ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ^^
- 2
- 3
- 287
Q&A
์ธํ ๋ฆฌ์ ์ด replace with sum
์๋ ํ์ธ์. ๊ฐ์ ๊ฐ์ฌํ ์ ๋ณด๊ณ ์์ต๋๋ค. for๋ฌธ์ stream์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด๋ผ์ for๋ผ๋ ๊ธ์๋ for ๋ฌธ์ ๊ดํธ ์์ ์ปค์ค๋ฅผ ๋๊ณ Alt + Enter ๋๋ฅด์๋ฉด ๋ฉ๋๋ค. ํน์ ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋ ์ง ๋ชฐ๋ผ ๋ฆ์์ง๋ง ๋๊ธ ๋ฌ์๋ด ๋๋ค.
- 0
- 2
- 510
Q&A
54๋ฒ ๊ฒฐ๊ณผ๊ฐ์ด ๋ชจ๋ NO๊ฐ ๋์ต๋๋ค.
4์ผ ์ ์ ์ฌ๋ฆฌ์ จ์ผ๋ ์ค์ค๋ก ํด๊ฒฐํ์ จ๊ฒ ์ง๋ง.. ์กฐ๊ธ๋จผ์ ์๊ฐํ ํ์์ผ๋ก ์๋ง๋ arr๊ฐ int ํ์ด ์๋๋ผ Stringํ์ด๋ผ ๊ทธ๋ฌ์ง ์์๊น ์ถ์ธกํด ๋ด ๋๋ค. ์ฝ๋๋ฅผ ์ ์ฒด ์ฌ๋ ค์ฃผ์๋ฉด ๋ ํ์คํ๊ฒ ์ง๋ง.... ["1", "2", "3"] ๋ฐฐ์ด์ด ๋ฌธ์์ด์ด๋ฉด arr(1)+1 = "11"์ด ๋์ค๊ณ , arr(1+1) = "2"๊ฐ ๋์ต๋๋ค. ์ฆ, arr[i]+1 !== arr[i+1] ์ ์ด์กฐ๊ฑด์ ๋ฌด์กฐ๊ฑด true์ ๋๋ค. ๊ทธ๋ฌ๋ return ์ No๋ผ๊ณ ๋ง ํด ์ฃผ๊ฒ ์ฃ . ๋ฐฐ์ด์ ๊ฐ์ ๋ฌธ์์ด์์ Intํ์ผ๋ก ๋ณํํด ์ฃผ์๋ฉด ์ํ๋ ๊ฐ์ด ๋์ฌ๊ฒ๋๋ค. parseInt๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์. [1,2,3] Intํ์ด๋ฉด arr(1)+1 = 2 , arr(1+1) = 2๊ฐ ๋์ต๋๋ค. ์ฆ๊ณตํ์ธ์~
- 0
- 1
- 187




