파이썬 여러페이지 크롤링 네이버 블로그 검색결과 웹스크래핑
Вставка
- Опубліковано 22 січ 2025
- 파이썬으로 여러페이지 크롤링 하는 방법에 대한 강의입니다.
예제에서 beautifulsoup, urllib.request, urllib.parse를 사용하여 네이버 블로그 검색결과를 원하는 페이지만큼 자유자재로 스크래핑하여 결과를 출력합니다.
여러페이지 크롤링에 대한 원리를 설명하는 강의로 네이버뿐만 아니라 다른 사이트에도 적용할 수 있습니다.
파이썬 웹 크롤링 예제
파이썬 beautifulsoup 크롤링 예제 네이버 블로그 검색결과 크롤러 만들기
• 파이썬 beautifulsoup 크롤링 ...
파이썬 크롤링 예제 네이버 이미지 검색결과 한번에 다운로드 프로그램
• 파이썬 크롤링 예제 네이버 이미지 검색결...
파이썬 인스타그램 크롤링 이미지 다운로드 beautifulsoup selenium 사용법
• 파이썬 인스타그램 크롤링 이미지 다운로드...
김플 스튜디오 블로그
blog.naver.com...
==========
파이썬 기초 강의는 21개 영상으로 나눠진 재생 목록과 약 3시간의 통합본 두가지로 제공됩니다.
통합본 : • 파이썬 기초 강의 3시간 완성
재생목록 : • 파이썬(python) 기초강의
==========
실습으로 끝장내는 파이썬 웹 크롤링과 웹 페이지 자동화 : inf.run/jX3V
프로그래머 김플 스튜디오 : / @kimfl
==========
1982년에 컴퓨터 공부를 처음 시작 할 때에 Fortran, Cobol 언어로 공부하고 나중에 Lisp 인공지능 언어로 주로 개발을 하다가 개발에서 손을 놓은지 20년 정도 되었는데 오랜만에 파이썬 공부를 해보고 있는데 설명도 잘 해주셔서 재미있게 봤습니다. 프로그래밍 언어를 접해 봤던 분들에게는 쉽게 와 닿을 강의네요. 감사합니다.
처음부터 모든 영상을 정주행하면서 계속 보고 있습니다. 정말 도움이 많이 됩니다. 감사합니다!
감사합니다~^^
우와 진짜 지금까지 들은 프로그래밍 강의중에 최고입니다ㅠㅠ 올려주셔서 너무 감사해요
설명도 너무 쉽고.. 간결하고 너무 멋지십니다!! 최고입니다!!!!!
파이썬 초보자인데도 정말 실질적이고 핵심적인 부분만 잘 설명해 주셔서 처음부터 보고 있습니다. 나머지 영상도 보고나서 처음부터 하나씩 따라해 보겠습니다. 정말 감사합니다~~
좋은 평 감사합니다^^
구독과 좋아요 !! 강의 정말 심플하게 뇌리에 팍팍 박히게 설명 잘 해주시네요 감사합니다. 근데 언제 다시 돌아오시나요^^ 다음강의가 기다려집니다 ㅎ
요즘 녹화하기가 힘든 상황이라서요..ㅠㅠ계속 계획은 하고 있습니다.ㅎㅎ
알기쉽고 좋은강의 감사합니다!
감사합니다. 잘 배웠습니다!
찐 영상입니다.... 유목민 이제 정착합니다.......ㅎㅎ 감사합니다...^^
'ascii' codec can't encode characters in position 112-114: 라면서 아스키코드 에러뜨는데 어떻게하죠?
url이 바뀌었는지 작동이 안되는데요. 확인 좀 부탁드립니다. 동영상 잘 보고 있습니다. 감사합니다.
3일전에 질문이 있어서 아래 댓글을 올렸었는데.. 조금 전에 다시 해보니 정상적으로 출력됩니다. ^^ (이유는 모르겠으나..)
설명 깔끔하고, 전달력 굿입니다. 정말 감사드립니다.
처음부터 하나씩 잘 따라하고 있는데 이번에는 결과가 다르게 나왔습니다.
놓친 건 없는지 몇 번이고 다시 보고, 다시 실행해도 마찬가지여서 도움을 청합니다.
'href' 부분만 출력되고, 'title' 의 텍스트는 아무것도 안나옵니다. 물론, 코드는 동일하구요.
주피터노트북에서 작업했구요. 크롤링 예제 2탄 리팩토링에서는 정상적으로 나왔습니다.
도와 주세요~
제가 지난주 몸살감기로 유튜브 관리를 못해서 답변을 못드렸는데 그래도 해결이 되어서 다행입니다.
C:\Users\user\anaconda3\envs\pythonProject\python.exe C:/Users/user/PycharmProjects/pythonProject/crawl.py
File "C:/Users/user/PycharmProjects/pythonProject/crawl.py", line 10
soup = beautifulsoup(html, 'html.parser')
SyntaxError: invalid syntax
똑같이 적었는데, 상기와 같이 구문에러입니다. 이유를 모르겠어요
쇼핑몰 크롤링할떄는 총 3가지 기준으로 나눴습니다 이전, 다음 버튼 존재유무에서
번호식으로 누르는거 말고
1. 개수가 10개 이하여서 '이전'버튼이 없는 경우
2. 중간에 이전 '다음'이 존재하는경우
3. 끝까지 가서 '다음'버튼이 없는경우
3개다 A태그로 인식되어 누르게 해도 3번의 '이전'밖에 없는 상황의 A태그 버튼이 눌려 무한루프가 되어서,
전부 태그를 텍스트로 추출해서 조건문을 걸었습니다.. ㅏㅎ하ㅏㅎ하'';; ㅠㅠㅠ
이런 기발한 방법이 있을줄이야..
7번째줄 url = baseurl + urllib.parse.quote_puls(plusurl) 에서 urllib에서 에러가 나는데 어떻게 해야하나요 ㅠㅠ
덕분에 많이 배웠습니다 감사합니다!
안녕하세요 클롤링 관심있게 잘보다가 이 영상까지 도달하게 되었습니다, 제목에 들어가는 단어 본문 반복수 상위 세개 이런식의 셋팅은 어떻게 하는것인가요!
어떤 도움이 필요하신지 좀 더 구체적으로 적어주시면 좋겠습니다.
진짜 진짜 감사합니다
안녕하세요 혹시 전세계에서 휴대폰 제조국과 모델명을 검색하는 방법을 부탁드립니다
검색하는 방법은 프로그래밍의 문제가 아닌것 같습니다.
@@kimfl 그럼 어떻게 해요
구글에서 검색해서 찾아보셔야 하지않을까요? 저는 검색전문가가 아닙니다.
멋진형
정말 도움되는 영상 잘 보고있습니다! 영상보면서 궁금한점이 있어서요.
python은 줄 바꿈으로 코드 스코프를 구분하는걸로 알고있습니다! 영상에서 보면10:19 긴 문자열이 자동으로 줄 바꿈돼서 좁은 화면에도 한 눈에 보이는데 따로 플러그를 설치해야 되는건가요?
vscode 기본 기능입니다. 구글에서 vscode 줄바꿈 이라고 검색해보세요.
쉽게 설명해 주셔서 감사합니다. 크롤링시 검색기간 설정은 어떻게 하는지 알고 싶습니다.
검색기간 설정이 무엇을 말씀하시는 건가요?
@@kimfl 예를 들면 2019년01월01일 부터 2019년12월31일 까지 기간 동안의 검색 내용을 알고 싶을 때 날짜 지정을 어떻게 하는지요?
그건 검색 옵션이니 검색페이지 html에서 날짜부분 태그 찾아서 날짜 입력해서 검색하도록 만들어야죠.
감사합니다.@@kimfl
구글에서도 비슷하게 해봤는데 검색결과가 3페이지에서 사라지네요
잘 보고 있습니다!
감사합니다~
최곱니다!
많은 것을 배우고 있습니다. 감사합니다. 하나 더 알고 싶은 것이 있습니다. href 본문 추출은 어떻게 하는지 궁금합니다.
어떤걸 추출하려는건지 좀 더 구체적으로 올려주세요.
강의 내용 중 'href'가 실행되면 blog.naver.com/nkj2001?Redirect=Log&logNo=221659193643등의 url이 생성되는데 url로 들어가면 나오는 본문 내용들을 모두 추출하는 방법이 궁금합니다. url만 모아서 다시 분석을 해야 하는지요. 감사합니다.
url을 수집하고 각각의 url로 들어가서 본문을 수집하도록 프로그램을 만들어야죠. 수집한 url의 페이지구조가 같다면 만들기 쉽겠지만 그렇지않다면 복잡해질겁니다.
@@kimfl 감사합니다.
잘 배웠습니다! 웹페이지 페이지수 대로 컨트롤! 감사합니다!
plusUrl 부분에 엑셀의 한 열에 있는 모든 검색어와 연동해서 가져오게 할 수 있는 방법도 있을까요?
엑셀 한 열을 가져와서 리스트로 만들어놓고 반복하면 되겠네요.
감사합니다
김플님 너무 잘보고있습니다. !! 혹시 동영상 중간에
# html = urllib.request.urlopen(url).read()
# soup = BeautifulSoup(html, 'html.parser')
# title = soup.find_all(class_='sh_blog_title')
# for i in title:
# print(i.attrs['title']) # attrs = 속성 'title'을 가져온거임
# print(i.attrs['href']) # [] 안에는 속성값이 들어가야한다
# print()
이 라인들 # 한번에 지우는 방법 ? 단축키? 라고 해야하나요 어떻게 하나요
ctrl+/ 주석 토글
shift+alt+a 커서위치에 주석 토글
ua-cam.com/video/Iu9cZVDszvc/v-deo.html
vscode 단축키는 위 동영상을 한번 보시면 도움되실겁니다.
진짜 좋다.
네이버 카페 ... 좋아요 누르기 // 네이버 카페 가서 전체글 보기 누르면 글이15줄씩 되어 있는데.. 1번글 누른후 .. 맨아래 좋아요 버튼 누르고. 다시 2번글 좋아요~~...
15번 글까지 좋아요 누르는 방법? 1페이지 다 누른후> 옆 2페이지 도 반복.. 15페이지 까지 반복 ...
어떤식으로 구현 해야 되니요? 간단한듯 하면서 에메 해서요
뭐든지 같은걸 반복하는건 반복문으로 만드는거죠. 제가 대신 고민하고 프로그램을 만들어 드릴수는 없으니 어떤식으로 구현할지는 직접 생각하셔야 됩니다. 이미 질문 자체에 거의 답이 있는것 같네요. 질문의 내용을 코드로 바꾸는걸 생각해보세요.
안녕하세요 잘 배웠습니다! 다름이아니라 셀레니움을 사용하지 않고 뷰티풀 숩 만으로 네이버 로그인한 검색결과들을 크롤링 할 수있나요?
저도 안해봤으니..해봐야 알겠죠? 한가지 확실한건 로그인부분이 어려울겁니다.
선생님, 혹시 선생님 영상 응용해서 네이버 뉴스기사 크롤링하는걸 만들었는데 자주 하다보니 IP가 차단당한 것 같습니다. 혹시 위에 예시에서 User-Agent로 headers 지정하는 코드 알 수 있을까요? url이 f'~~~'이런 꼴이라 기존 인터넷 서칭으로 찾아본 걸로는 html = requests.get(url).text
라고 한 줄 추가하는걸 설명해주는데 url=f'주소'형식이라 적용이 안되는 것 같습니다.
뉴스 크롤링 할때 헤더없으면 막히는 경우가 종종있는데
headers= {'User-Agent' : 'Mozila/5.0'} 을 넣어주면 되요!!
urlopen error unknown url type: https 라는 에러 메세지는 어떻게 해결하나요??? ㅠㅠ
제가 겪어본적이 없는 에러이고 다른 정보없이 단순히 에러메세지만으로는 제가 알아낼수 있는게 없습니다. 검색을 통해서 방법을 찾아보세요.
print(i.attrs[' title '])에서 attrs는 함수인가요? 어떻게해서 attrs가 나왔는지 모르겠습니다. 검색해도 안나오네요 그냥 attrs사용만하고..
크롤링한 결과에서 i.attrs는 i라는 태그 객체에 있는 속성목록을 가져옵니다. 그중에 위 예시는 속성중 타이틀만 가져옵니다. 태그에는 속성이 없을수도 있지만 어떤 태그에는 title, src, href 등등 여러가지 속성을 갖고있기도 하죠. 그런 속성 목록에 접근하는게 attrs입니다.
예를들면 페이지 이동에서 저렇게 url이 달라지지않고 그대로 있는경우 어떻게 확인을해야하나요?
selenium을 사용해서 크롤링하면 간단하게 해결 가능합니다.
질문이 하나 있습니다. 네이버 뉴스 크롤링 하는 건 이제 조금 알 것 같은데 동아일보, 중앙일보, 한국경제 같은 신문사 홈페이지에서 특정 키워드 기사를 크롤링하는건 방법이 다른가요?
기존 네이버 뉴스 크롤링 방식으로 해보려 하니까 안돼서요 ㅠㅠ
사이트마다 만들어진 방식과 디자인이 다 다르니 방법이 달라질수 있죠.
@@kimfl 네 답변 감사합니다. 혹시.. 신문사 홈페이지 크롤링 강의, 혹시 안될까요?
각 언론사 사이트를 크롤링 하는것은 조금 일이 많아져요~~
네이버 뉴스에 등록된 여러 언론사의 기사를 크롤링 할 수 있습니다!
네이버 뉴스 본문 크롤링을 도전해 보시면 됩니다!!ㅎㅎ
항상 좋은 영상 감사합니다! 하던 중 궁금한점이 생겼는데 url과 print 앞에 'f'로 포인팅을 넣어주는데 정확한 역할이 무엇인가요? 넣지 않고 출력을 했을때는 값이 정상적으로 출력이 안되는데 역할이 궁금합니다.
질문자체에 답이 있네요. 값이 정상적으로 출력되게 하는 역할입니다.
포맷팅 관련 강의는 ua-cam.com/video/_3zz6dUgcvA/v-deo.html를 참고하세요.
정확도순 말고 최신순으로 정렬해서 얻어낼수는없나요?
최신순으로 변경후 url의 변동을 파이썬에 집어넣으시면 됩니디
김플님 강의 너무 잘 보고 있습니다. 감사드리구,, 질문 한가지만 드리겠습니다. url = f'-----' 해당 부분에서 f 의 의미는 무엇인가요?
문자열을 포맷팅하는 방법중 한가지입니다.
ua-cam.com/video/_3zz6dUgcvA/v-deo.html 이 동영상을 참고하시면 도움되실겁니다.
url='search.naver.com/search.naver?date_from=&date_option=0&date_to=&dup_remove=1&nso=&post_blogurl=&post_blogurl_without=&query={plusUrl}&sm=tab_pge&srchby=all&st=sim&where=post&start={pageNum}'
주피터 노트북으로 강의 감사히 듣고 있습니다ㅎ
f'https~'처럼 f 꼭 붙여야 하나요? f만 붙이면 에러나요ㅜ
f안붙이고 실행하면 실행은 되는데 3페이지까지 크롤링이 안되요.....
에러내용:
File "", line 13
url=f'search.naver.com/search.naver?date_from=&date_option=0&date_to=&dup_remove=1&nso=&post_blogurl=&post_blogurl_without=&query={plusUrl}&sm=tab_pge&srchby=all&st=sim&where=post&start={pageNum}'
^
SyntaxError: invalid syntax
이것만 보고 왜 에러가 나는지는 모르겠네요. f포맷팅은 문자열 포맷팅 방법중 한가지일뿐이니 다른 방법을 사용해도 상관없습니다.
김플님 저장을 엑셀로 한다면 어떤 코드를 넣어야 하나요? 응용하려고 하는데 도저히 안 풀리네요.
openpyxl을 사용하면 파이썬에서 엑셀을 사용할수 있습니다. 구글에서 파이썬 openpyxl을 검색해보세요. 그밖에 파이썬 엑셀 관련 다른 패키지도 있지만 openpyxl을 많이 사용합니다.
초보자인데 많은 도움 받고 있습니다. 감사합니다 :)
저는 쥬피터로 하고 있는데, 'module 'urllib' has no attribute 'parse_quote_plus' 라는 에러가 뜨는데 문제 원인이 뭔지 모르겠습니다ㅠㅠ 혹시 쥬피터에서는 f 포맷팅을 쓰면 안되나요? 코드는 아래와 같이 썼어요!
import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
plusUrl=urllib.parse_quote_plus(input('검색어: '))
pageNum= 1
url=f'search.naver.com/search.naver?date_from=&date_option=0&date_to=&dup_remove=1&nso=&post_blogurl=&post_blogurl_without=&query={plusUrl}&sm=tab_pge&srchby=all&st=sim&where=post&start={pageNum}'
print(url)
'module 'urllib' has no attribute 'parse_quote_plus'
에러메세지에 정확하게 이유가 나와 있습니다. parse_quote_plus 이게 잘못된거죠.
@@kimfl 헉;;; 여러번 확인한다고 했는데 ㅠㅠㅠ 멍청한 질문 해서 죄송합니다. 답변 감사합니다!!
안녕하세요?상품소싱하여 끌어오는 프로그램을 쓰고있습니다.프로그램 실행시 경로를 넣고 가져오기를 누르면 타오바오나 사이트에 있는 상세페이지 이미지와 설명들을
끌어오는 프로그램인데 어떤건 돼고 어떤건 경로에 잘못된 문자가 있다는 에러메시지가 많이 나옵니다.
item.taobao.com/item.htm?spm=a230r.1.999.6.202e523cqurdEV&id=565892545926&ns=1#detail
예를 들어 이런경로같은경우 어떤 부분이 잘못돼있어서 에러메시지가 뜨나요?
이런경우에 몇가지를 지워주고 끌어오면 되는것인지 아니면 크롤링이 되는게 있고 안되는게 있는것인지 너무 궁금하여 질문드립니다.
사용하시는 프로그램이 어떻게 만들어져 있는지 제가 알수가 없으니 모르겠네요. 프로그램 공급처에 문의하시는게 좋을것 같습니다.
야메 회사라 정확한 답변을 안해주네요.
사람들이 이것때문에 사이트가 도배될정도로 많이 물어보는데도 정확한 답을 안합니다.ㅠㅠ
처음소스는 잘되었는데 몇페이지 크롤링에서 결과가 출력이 안되는 경우도 있나요??
몇페이지 진행하다가 어느 시점부터 안된다면 중간부터 페이지html이 바뀐다던가 아니면 파이썬 코드가 잘못짜여졌을수도 있겠죠.
잘 보고 크롤링 해 나가고 있습니다. 경매사이트를 파이썬으로 크롤링 하려고 하는데, 로그인 하지 않고 크콜링 하다보니 몇몇 내용들이 크롤링 되지 않더라구요. 파이썬에서 로그인 하려고 하는데, 잘 안됩니다. ㅠ 원인을 모르겠습니다. ㅠ(질문한 사이트도 있습니다. 참고로 bit.ly/32NoVwP)
답변 수정합니다. 셀레니움 action chain을 한번 사용해보세요.
궁금한게있는데 검색어에 따라 검색되는 페이지 수가 다를텐데. 예를들면 어떤 검색어는 25페이지까지 있고 어떤 검색어는 100페이지까지 나올테도 있을텐데 검색어에 따라 모든 페이지를 긁을려면 어떻게 해야될까요?
현재 페이지가 마지말 페이지 인지 확인을 해줘야해요~! 알고리즘이 약간 필요합니다ㅎㅎ
감사합니다.