본문 바로가기

Data handling/Web crawling

(7)
[selenium] python, 구글 이미지 크롤링하기 (원본화질, 고화질) 전체코드 from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium.common.exceptions import TimeoutException from selenium import webdriver from selenium.webdriver.common.keys import Keys import os options = webdriver.ChromeOptions() options.add_argument('headless') options.add_ar..
DevToolsActivePort file doesn't exist error 해결법 크롤링 에러 간단하게 해결하는 방법. 에러 WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) 해결법 크롬 옵션 추가 ( headless, no-sandbox 필수) from selenium import webdriver chrome_options = web..
[selenium] js 동적 페이지 크롤링 하기 (주로 댓글) iframe, #document 해결 문제점 특정 사이트의 댓글을 크롤링할때 문제가 발생한다. selenium을 써도 해결이 안 된다. iframe, #document로 구성된 부분에 댓글이 들어가 있다. 문제는 이 안쪽 부분은 접근이 불가능하다는 것이다. 그러면 어떻게 해야할까? 해결책을 알게됐다. iframe 내부에 있는 src 링크로 다시 들어간다. 거기서 selenium 크롤링을 다시 진행하면 된다. 새롭게 html, body 등이 구성되고 element에 접근이 가능한 걸 볼 수 있다. 핵심은 driver.get으로 iframe 내부 링크에 접속하는 것이다. 3 시간 삽질 결과 공유 끝 번외로 마약베개 리뷰 크롤링 예제를 공유한다. from selenium import webdriver import time options = web..
[scrapy] 403 error 발생시 대처법 403 error는 크롤링을 막아놓은 사이트에서 크롤링시 발생하는 에러이다. "2021-02-09 23:27:33 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response : HTTP status code is not handled or not allowed" 해결법은 간단하다. setting.py를 열고 USER_AGENT 부분을 아래와 같이 수정한다. 이후 잘 크롤링 된다. 200 USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36' sangaline.com/po..
[크롤링] 엄청 쉽고 간단한 크롤링 방법. 꿀팁. 라이브러리 필요 없음 기존 방법 f12를 눌러 사이트의 정보를 탐색한다. selenium을 이용할 경우 xpath를 찾고 고생 끝에 구축한다. beautiful soup를 이용해 해당 정보의 구조를 잘 파악해야 한다. 기존 방법의 단점 힘들다.. 번거롭다 매번 귀찮다. 새로운 방법 KB 부동산 시세를 보는 사이트를 예로 들겠다. onland.kbstar.com/quics?page=C059652 매물·시세 ( KB부동산(LiivON) | 매물·시세 ) KB 정보 제공 한계 및 책임 지적편집도 제공의 한계책임 설명 닫기 본 지적편집도는 공간정보산업진흥원에서 제공하는 데이터를 다음지도에서 편집 제작한 지도입니다. 지역별 최신성, 정확성�� onland.kbstar.com f12를 누르고 Network를 본다. request 방식이..
[오픈 Api 이용하기] 금융위원회_기업기본정보 python, 공공 데이터 https://data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15043184 금융위원회_기업기본정보 데이터를 이용하고자 했다. 쉽게 될 줄 알았는데 뭔가 막혀서 삽질을 많이했다. 기록은 남겨둘까 한다. from urllib.request import urlopen from urllib.parse import urlencode, unquote, quote_plus import urllib import json from pprint import pprint url = 'http://apis.data.go.kr/1160100/service/GetCorpBasicInfoService/getCorpOutline' decode_key = un..
[크롤링] beautiful soup에 관하여, 내가 bs를 쓰지 않는 이유 parsing을 ‘html.parser’, ‘lxml’, ‘html5lib’ 중 어떤 걸로 하느냐에 따라 좀 달라진다고 한다. 그렇지만 특정 사이트들에 원하는 항목은 아예 html 내에 없을 수도 있었다. 아무리 봐도 request를 통해 얻은 response의 text엔 내가 원하는 정보가 없었다. 얼마나 삽질을 했을까… 문법적 오류가 있는 줄 알고 계속 beautiful soup 문법을 살펴보며 이래 저래 방법을 찾으려 햇다. 그런데 다시보니 원하는 테그가 아예 크롤링 된 결과에 없어서 안되는 것이었다. selenium으로 갈아타자… 좀 느리긴 하지만. 그래도… scrapy를 공부하면 훨훨 날듯이 쓸 수 있을 것 같은데. 정리하면 beautiful soup는 안 통하는 사이트가 많은 것 같다. sel..

728x90