본문 바로가기
개발/Python

[py] request 이용하여 웹 크롤링 예제

by 코딩하는 갓디노 2022. 10. 3.

[py] request 이용하여 웹 크롤링 예제

 

request를 라이브러리를 이용해
네이버 크롤링 예제입니다.

 

크롤링 주제:  네이버에 코딩하는 갓디노를 검색하여 나오는 데이터 크롤링

 

코드

import requests
from bs4 import BeautifulSoup

#print(response.status_code) #통신 응답 결과 200: 정상 404: 페이지 찾을 수 없음
pageNum = 1
for i in range (1, int(4* 10), 15):  #총 4개의 페이지가 있고, i값이 1, 16, 31 순으로 진행
    print(f' {pageNum} 페이지 -----------------------------------')
    response = requests.get(f'https://search.naver.com/search.naver?display=15&f=&filetype=0&page=2&query=%EC%BD%94%EB%94%A9%ED%95%98%EB%8A%94+%EA%B0%93%EB%94%94%EB%85%B8+site%3Ahttps%3A%2F%2Fgoddino.tistory.com&research_url=&sm=tab_pge&start={i}&where=web')
    html = response.text # 사이트의 html 전체 코드
    soup = BeautifulSoup(html, 'html.parser')
    results = soup.select('.link_tit') #결과는 리스트 -> for문으로 하나씩 추출
    for result in results: 
        title = result.text
        link = result.attrs['href']
        print(title, link)
    pageNum = pageNum + 1

 

크롤링 결과

 1 페이지 -----------------------------------
 코딩하는 갓디노  https://goddino.tistory.com/
 [상업용무료폰트] 교보문고 교보 손글씨 2019 다운로드 - 코딩하는 갓디노  https://goddino.tistory.com/51
 [css] 카드 뒤집기, 이미지 앞뒤 회전 3d 애니메이션 효과 - 코딩하는 갓디노  https://goddino.tistory.com/185     
 [js/jQuery] 탭메뉴 구현하기 - 코딩하는 갓디노  https://goddino.tistory.com/8
 [js] find includes 차이 - 코딩하는 갓디노  https://goddino.tistory.com/304
 [js] DOM과 BOM의 차이점 - 코딩하는 갓디노  https://goddino.tistory.com/71
 [js] 자바스크립트 debugger 활용 - 코딩하는 갓디노  https://goddino.tistory.com/324
 [js] onclick 이벤트 링크 넣기 - 코딩하는 갓디노  https://goddino.tistory.com/320
 [js] 만 나이 계산하기 - 코딩하는 갓디노  https://goddino.tistory.com/235
 [js] react로 로또 게임 만들기 - 코딩하는 갓디노  https://goddino.tistory.com/151
 [vue] vue.js props / emit 사용방법 - 코딩하는 갓디노  https://goddino.tistory.com/127
 [git] git 실서버 올리기 - 코딩하는 갓디노  https://goddino.tistory.com/319
 [js] button submit 막기 (ft. form) - 코딩하는 갓디노  https://goddino.tistory.com/298
 [js] react의 useReducer 사용법 - 코딩하는 갓디노  https://goddino.tistory.com/153
 [react] react 에서 jQuery 사용하기 - 코딩하는 갓디노  https://goddino.tistory.com/309
 2 페이지 -----------------------------------
 [인디자인] 셀프 명함 만들기 - 코딩하는 갓디노  https://goddino.tistory.com/32
 [react] 검색 기능 구현하기 - 코딩하는 갓디노  https://goddino.tistory.com/296
 mac, window 개발자 도구 단축키 - 코딩하는 갓디노  https://goddino.tistory.com/252
 [react] 네비게이션 구현 - 코딩하는 갓디노  https://goddino.tistory.com/243
 [css] grid 반응형 layout 적용 - 코딩하는 갓디노  https://goddino.tistory.com/246
 [react] useState는 비동기? - 코딩하는 갓디노  https://goddino.tistory.com/326
 색상추출 색상조합 컬러추천 무료 사이트 추천 - 코딩하는 갓디노  https://goddino.tistory.com/13
 [react] switch toggle 버튼 - 코딩하는 갓디노  https://goddino.tistory.com/271
 vue.js computed 속성 - 코딩하는 갓디노  https://goddino.tistory.com/112
 [react] framer motion 사용법 - 코딩하는 갓디노  https://goddino.tistory.com/290
 [js] 문자열 특정 문자 추출하기 - 코딩하는 갓디노  https://goddino.tistory.com/329
 [py] 네이버 뉴스 타이틀, url 크롤링 - 코딩하는 갓디노  https://goddino.tistory.com/343
 [css] 강제 가로 모드 - 코딩하는 갓디노  https://goddino.tistory.com/339
 [css] tailwind dialog 창 사용 예제 - 코딩하는 갓디노  https://goddino.tistory.com/213
 [상업용무료폰트] 고도체 다운로드 - 코딩하는 갓디노  https://goddino.tistory.com/36
 3 페이지 -----------------------------------
 [서식] 교육신청서 다운로드 - 코딩하는 갓디노  https://goddino.tistory.com/85
 플러스맵 뷰어 - 코딩하는 갓디노  https://goddino.tistory.com/proxy/plusmapViewer.php?id=maps_1589663437720    
 [py] 셀레니움 기본 설정 - 코딩하는 갓디노  https://goddino.tistory.com/353
 [react] 여러개 토글 버튼 구현 - 코딩하는 갓디노  https://goddino.tistory.com/350
 [react] resize 적용하는 법 - 코딩하는 갓디노  https://goddino.tistory.com/348
 [py] 파일 및 폴더 정리하기 - 코딩하는 갓디노  https://goddino.tistory.com/357
 [py] 이미지 사이즈 줄이기 - 코딩하는 갓디노  https://goddino.tistory.com/360
 [py] 파이썬 랜덤 이미지 생성 - 코딩하는 갓디노  https://goddino.tistory.com/359

 

반응형

댓글