코딩 연습/코딩배우기166 네이버 쇼핑 아이디별 등록 상품 추출하는 법(파이썬 script 태그 스크래핑 가이드) 네이버 쇼핑의 각 판매자 사이트에 들어가 보면 상품 리스트가 있고, 각 상품에 대한 제목, 가격, 리뷰수, 평점 등의 데이터가 있다. 이 부분을 확인해보면 파이썬 requests로 네이버쇼핑 아이디별 등록 상품 리스트 데이터 추출 네이버 쇼핑에서 상품 검색 시 스마트스토어에 상품을 등록한 판매자명이 보인다. 그 부분을 클릭하면 해당 판매자의 스마트스토어 쇼핑몰에 접속하게 되는데, 상품 리스트의 html 소스코드 내용을 보기 위해 "페이지 소스보기"를 해서 보던지, "개발자 도구(F12)"를 펼쳐 Name에서 메인 화면 또는 특정 항목(판매자 ID 등)으로 된 부분을 클릭해서 Response 부분의 코드를 보면 부분 밑에 관련 정보가 있는 것을 발견하게 된다. window.__PRELOADED_STATE_.. 2022. 1. 14. 이미지 다운로드 관련 requests와 requests-html 비교 파이썬으로 이미지 다운로드 관련 코딩을 할 때, 동적인 페이지의 문제로 인해 selenium을 많이 사용한다. 그러나 selenium의 단점으로 인해 다른 방법을 찾는 것이 사실인데, 이런 부분을 requests-html로 어느 정도 해결이 되는 것 같아서 다음 이미지 다운로드 방법으로 requests와 requests_html를 비교해본다. Daum 이미지 다운로드 관련 requests와 requests-html 중 무엇을 사용할 것인가 - 다음에서 이미지만 보여주는 탭에서 최근 화두인 '메타버스' 이미지 검색 - 이미지 링크 주소(URL)가 잘 보인다. requests.get()으로 다운로드 가능할까? - 첫 번째 이미지 소스코드중 https://search4.kakaocdn.net/argon/0x2.. 2022. 1. 11. 동적(JavaScript) 웹 페이지의 json 데이터 형식 이미지 다운로드 (with 파이썬) 파이썬을 가지고 웹 스크래핑을 해봤다면, 동적으로 렌더링 된 웹 사이트에서 BeautifulSoup나 requests로 이미지 등의 콘텐츠를 스크래핑한다는 것이 어렵다는 것을 알 것이다. 파이썬으로 다수의 unsplash 이미지 다운로드 해보기 스크래핑을 연습할 대상 사이트는 unsplash.com이며, 페이지 소스보기를 해서 보면 javascript 소스로 되어있다. 아래 소스코드는, 자바스크립트를 사용하는 동적인 웹 사이트에서 BeautifulSoup 또는 selenium을 사용하지 않고 개발자 도구를 최대한 활용하여 관련 데이터를 찾아낸 후, requests 라이브러리로만 이미지를 스크래핑하는 것을 보여준다. 개발자 도구(F12)의 Network > XHR에서 search?query=dog&...로.. 2022. 1. 11. 11번가 실시간 쇼핑 검색어 추출해서 저장하기(python tkinter) 11번가의 검색란 우측에 있는 키워드 롤링 부분을 클릭하면, 실시간 쇼핑 검색어 20개가 보인다. 이 부분에 대해 파이썬으로 스크래핑 후 csv 파일로 저장하는 소스코드와 Tkinter로 UI를 만들어 실행 파일로 생성하는 방법을 참고용으로 기록함. 파이썬 Tkinter로 11번가의 실시간 쇼핑 검색어 순위 추출 및 저장하기 파이썬 소스코드 from tkinter import * import tkinter.messagebox as msgbox import re import webbrowser import pyperclip import requests import json from csv import * root = Tk() root.title('검색어 순위') root.geometry('450x350+7.. 2022. 1. 10. 단축 URL 스크래핑에 파이썬 비동기 처리 개념 적용해보기 파이썬에서 쓰레드와 비동기는 어떻게 사용되는지 궁금하여 알아본 결과, 하나의 쓰레드로 동시 처리를 하는 비동기 프로그래밍이 당연히 좋다고 해서, 기초적인 지식이지만, 이를 응용하여 단축 URL 생성하는 스크래핑을 비동기로 구현해보기로 했다. URL주소 단축URL 생성 시 파이썬 비동기 처리로 스크래핑해보기 원래 파이썬은 기본적으로 동기 방식으로 설계되었고, 내장 모듈(라이브러리) 대부분도 동기 방식으로 동작한다고 한다. 그러다가 3.4 버전부터 asyncio 모듈이 추가되었고, 이후 async와 await가 채택되면서 비동기 프로그래밍이 가능해졌다. 비동기 함수는 def 대신 'async def' 키워드 사용 await는 작업 완료 통보가 올 때까지 다음 작업을 지연시키고 이벤트 루프에 작업이 있으면 해.. 2022. 1. 7. selenium으로 네이버 쿠키를 얻고 세션을 유지하는 방법 네이버에서 로그인이 필요한 웹 페이지에 대해 스크래핑(크롤링)을 하려면 세션을 유지해야 하는데, 셀레니움(selenium)으로 쿠키를 얻은 후, selenium이 아닌 requests.Session 모듈로 쿠키를 보내서 세션을 유지할 수가 있다. 로그인 없이 접속한 경우의 헤더(headers)와 쿠키(cookies) import requests from bs4 import BeautifulSoup def requests_cookie(url): response = requests.get(url, headers={'User-Agent':'Mozila/5.0'}) print(response.headers) # 응답 headers print(response.cookies) # soup = BeautifulSou.. 2022. 1. 3. 웹 브라우저 페이지를 자동으로 스크롤 해보기 (with 파이썬) 파이썬으로 selenium과 chrome webdriver를 사용하여 긴 웹 브라우저의 페이지를 자동으로 스크롤되게 하는 기능을 설명한다. 특히, 네이버 블로그의 경우 마우스를 내리면 계속해서 페이지가 스크롤되는데, 이에 대해 스크래핑(크롤링)할 때 유용하게 사용할 수 있다. 웹 브라우저 페이지 자동 스크롤링 ▷url을 입력 시 웹 페이지 스크롤하는 함수 import time import random from selenium import webdriver from selenium.webdriver.common.keys import Keys def webpage_scroll(url): options = webdriver.ChromeOptions() options.add_argument('--headless.. 2021. 12. 28. 블로그 글 내용 저장 중 이모지 '\U0001f970' 에러 발생 (파이썬) 블로그 글 내용을 파이썬으로 스크래핑(크롤링)하여 저장 중에 발생한 아래와 같은 에러 메시지( UnicodeEncodeError: 'cp949' codec can't encode character '\U0001f970' in position 1806: illegal multibyte sequence)를 조치하기 구글에서 찾아봤다. 이모지(emoji)로 인한 유니코드 인코딩 에러 블로그 글 내용을 저장하기 위해 아래와 같이 코딩했으나... 에러 메시지가 나왔다. with open(keyword + '/' + '블로그 본문 내용들.txt', 'a') as f: f.write(body_contents) 에러 메시지 중 '\U0001f970'를 찾아보니 이모지(emoji) 웃는 얼굴이라고 나왔다. Unicode.. 2021. 12. 26. 파이썬 selenium 라이브러리 - find_elements_by_* commands are deprecated. 최근 selenium이 업그레이드되어서, find_elements_by_* 구문 대신 find_elements() 구문을 사용하라는 경고 메시지가 노출되었다. 사용법은 큰 차이가 없는 듯... selenium 라이브러리 경고 메시지에 따른 구분 사용 방법 ul = driver.find_element_by_class_name('lst_total') lis = ul.find_elements_by_class_name('bx') 위 구문에서, 실행 결과는 정상적으로 나오는데 오류인지 경고인지 이상한 메시지가 아래처럼 나온다. UserWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead warnings.warn.. 2021. 12. 25. 크롬 웹드라이버 '시스템에 부착된 장치가 작동하지 않습니다.' 메시지 python으로 selenium과 chrome webdriver를 사용해서 네이버 스크래핑 스터디 중에 '시스템에 부착된 장치가 작동하지 않습니다.'라는 아래와 같은 메시지가 출력되었다. 시스템에 부착된 장치가 작동하지 않습니다. driver = webdriver.Chrome('./chrome_driver/chromedriver.exe', options=chrome_options) DevTools listening on ws://127.0.0.1:49788/devtools/browser/80e9ee00-32ad-41cf-a228-7a615e0b9df9 [5568:14456:1225/132928.765:ERROR:chrome_browser_main_extra_parts_metrics.cc(226)] crb.. 2021. 12. 25. 이전 1 2 3 4 5 6 7 ··· 17 다음