본문 바로가기
노트/항해99

python-크롤링 (검색어)

by 소팡팡 2021. 12. 1.

 

 

해보고 싶은 게 있어야 찾아보게 된다




페이지를 크롤링하는 것도 신긴했지만

내가 검색어를 쳐서 페이지를 크롤링 할 수 있게 된다면?

만들고싶은게 더 생겼다!!! 

그래서 찾아봤다. 

 

 

검색어에 따른 크롤링 

response = requests.get(‘삼성전자로 검색한 naver url’)
여러개의 검색 list를 for문으로 돌려서 확인한 뒤ㅡ 각각의 변수 title url에 담아 출력했다

 

 

URL의 구조

protocol http https
Domain ip주소에 이름을 부여한 것
Path 서버에서 해당 페이지의 경로
parameter 크롤링에서 가장 중요한 부분, 파라미터는 key와 value로 작성되어지고 &로 구분되어진다
서버에 추가적인 정보를 제공하기 위함
Key where, query(검색어) = key
Value news, 삼성전자 = value
 

검색어부분을 keyword 변수로 넣어서 url을 넣었다

#네이버 '삼성전자'검색
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90

#네이버 '카카오'검색
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EC%B9%B4%EC%B9%B4%EC%98%A4

#네이버 '스타벅스'검색

https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4

한글로 검색했지만 서버에는 위의 코드로 해석되어 전달된다.
( 규칙성 발견 ) 앞 부분의 url은 같고 뒤의 검색어부분만 다르기 때문에
keyword라는 변수를 받아서 크롤링 도전
교보문고에서 검색어에 따른 결과값을 크롤링했다

 

import requests
from bs4 import BeautifulSoup
   // requests, bs4 라이브러리 사용

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
   // mozilla로 접속합니다!


keyword = input("검색어를 입력하세요")
response = requests.get("https://search.kyobobook.co.kr/web/search?vPstrKeyWord="+keyword)
   // url에 keyword변수를 추가해서 내가 원하는 검색값을 keyword에 넣어준다

html = response.text
   // url이 들어간 코드를 text만 추출해서
soup = BeautifulSoup(html, 'html.parser')
   // beautifulSoup을 이용해 크롤링하기 쉽게 만들고! html로 번역parser해준다


img = soup.select_one('.cover > a > img')
title = soup.select_one('.title > a > strong')
author = soup.select_one('.author > a')
   // 검색페이지의 html을 잘 분석한 뒤에!!! 원하는 값을 추출 할 수 있는 
       class명이나, tag를 적는다

 

앞으로 한 단계 더 남았다

터미널에서 검색어를 치는 게 아니라 내가 만든 html화면에서 검색어를 쳐서 

결과값이 화면에 나오도록!!!!!!!!!!!!!!!!!!!!!!!! 만들겠다. 휴우~

'노트 > 항해99' 카테고리의 다른 글

웹개발3 - pymongo  (0) 2021.12.01
웹개발3 - mongoDB  (0) 2021.12.01
웹개발3 - python 크롤링2  (0) 2021.12.01
웹개발3 - python 크롤링  (0) 2021.12.01
VScode에서 python 가상환경 만들기  (0) 2021.11.29

댓글