해보고 싶은 게 있어야 찾아보게 된다
페이지를 크롤링하는 것도 신긴했지만
내가 검색어를 쳐서 페이지를 크롤링 할 수 있게 된다면?
만들고싶은게 더 생겼다!!!
그래서 찾아봤다.
검색어에 따른 크롤링
response = requests.get(‘삼성전자로 검색한 naver url’)
여러개의 검색 list를 for문으로 돌려서 확인한 뒤ㅡ 각각의 변수 title url에 담아 출력했다
protocol | http https |
Domain | ip주소에 이름을 부여한 것 |
Path | 서버에서 해당 페이지의 경로 |
parameter | 크롤링에서 가장 중요한 부분, 파라미터는 key와 value로 작성되어지고 &로 구분되어진다 서버에 추가적인 정보를 제공하기 위함 |
Key | where, query(검색어) = key |
Value | news, 삼성전자 = value |
#네이버 '삼성전자'검색
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 |
댓글