파이썬 웹 크롤링(Web Crawling) - 4. 크롤링 심화

예제 1) 네이버 블로그 검색결과 CSV(엑셀) 파일로 저장하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup as bs
from urllib.parse import quote_plus

# class="api_txt_lines total_tit"
# - 네이버 모바일 VIEW탭에 제목 class

search = input('검색어를 입력하세요 : ')

url = f'https://m.search.naver.com/search.naver?where=m_view&sm=mtb_jum&query={quote_plus(search)}'

html = urlopen(url).read()
soup = bs(html, "html.parser")

total = soup.select('.api_txt_lines.total_tit')
searchList = []

for i in total:
temp = []
temp.append(i.text) # 제목
temp.append(i.attrs['href']) # 링크
searchList.append(temp)
# 엑셀에서 열때 utf-8 표준이면 깨짐현상이 일어남
f = open(f'{search}.csv', 'w', encoding = 'cp949', newline='')
csvWriter = csv.writer(f)
for i in searchList:
# 한줄씩 써 내려감
csvWriter.writerow(i)
f.close()

print('완료 되었습니다.')

크롤링을 검색해서 나온 30개의 결과 값을 저장했습니다.

예제 2) 구글 검색결과 CSV(엑셀) 파일로 저장하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import csv
from bs4 import BeautifulSoup as bs
from selenium import webdriver
from urllib.parse import quote_plus


baseUrl = 'https://www.google.co.kr/search?q='
plusUrl = input('검색어를 입력하세요 : ')
# 한글 검색 자동 변환
url = baseUrl + quote_plus(plusUrl)

driver = webdriver.Chrome()
driver.get(url)


html = driver.page_source
soup = bs(html, "html.parser")

r = soup.select('.r')
searchList = []

for i in r:
temp = []
temp.append(i.select_one('.LC20lb').text) # 제목
temp.append(i.a.attrs['href']) # 링크
print()
searchList.append(temp)

driver.close()

f = open(f'{plusUrl}.csv', 'w', encoding = 'cp949', newline='')
csvWriter = csv.writer(f)
for i in searchList:
# 한줄씩 써 내려감
csvWriter.writerow(i)
f.close()

print('완료 되었습니다.')

크롤링을 검색해서 나온 10개의 결과 값을 저장했습니다.(구글)