탐색기에서 파일 실행 vs IDE에서 파일 실행 결과물이 다릅니다
(코드는 하단에)
pycharm을 통해 실행하면 큰 사진으로 잘 긁어오는데, 파일 탐색기에서 파일을 더블클릭해서 실행하는 경우 큰 사진으로 안 되네요. 물론 pyinstaller를 이용해 exe 파일로 만들어도 사진은 작게 나와요...
- 탐색기 실행
- pycharm에서 버튼 눌러서 실행
Code
from selenium import webdriver
import urllib.request as request
import pyautogui
import os
import time
import random
# Activate chromedriver
driver = webdriver.Chrome()
driver.implicitly_wait(5)
search_word = pyautogui.prompt("검색어를 입력해주세요.")
driver.get(f'https://www.google.co.kr/search?q={search_word}')
driver.maximize_window()
# '이미지 검색' click
image_search = driver.find_element_by_xpath('//*[@id="hdtb-msb"]/div[1]/div/div[2]/a')
image_search.click()
# Make a folder
if not os.path.exists(search_word):
os.makedirs(search_word)
# Scroll
last_height = driver.execute_script('return document.body.scrollHeight')
while True:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
new_height = driver.execute_script('return document.body.scrollHeight')
if new_height == last_height:
break
last_height = new_height
# 이미지 개별 클릭
image_click = driver.find_elements_by_css_selector('.rg_i.Q4LuWd')
for i, image in enumerate(image_click, start=1):
driver.execute_script('arguments[0].click();', image)
time.sleep(random.randint(10, 30) * 0.1)
target_image = driver.find_element_by_xpath('//*[@id="Sva75c"]/div/div/div[3]/div[2]/c-wiz/div/div[1]/div[1]/div['
'2]/div/a/img')
target_source = target_image.get_attribute('src')
# src 출력해보면 확장자가 안 뜨니까 그냥 일괄적으로 통일함
opener = request.build_opener()
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/36.0.1941.0 Safari/537.36')]
request.install_opener(opener)
print('작업이 완료되었습니다.')
driver.close()
답변 1
0
제가 파이참을 사용하지 않아서 잘 모르겠네요ㅎㅎ
더블 클릭해서 실행하는 것은 파이참 형식의 파일만 가능 한 것 같습니다.
일반 파이썬 파일은 더블클릭해서 실행이 안되네요.
- 저의 경우 pyinstaller로 실행파일을 만들었을 때 큰 이미지 파일로 잘 가져 옵니다..

0
1. vscode를 통한 실행, shell을 통한 파일 실행 등 다른 방법에서 전부 문제가 터진 걸로 봐서는 파이참을 통한 실행이 특수한 경우였던 것 같습니다.
2. 태그나 xpath를 긁어온 과정은 문제가 없는 것 같습니다. 문제는 User-Agent가 크롬 쪽에서 버전이 안 맞아서인지(현재 v96.0인데 v36.0으로 했으니) 원본 접근할 때 forbidden을 시전한 것 같습니다.
3. 접근이 막히니까 원본을 못 긁고 썸네일 저화질 이미지를 긁은 듯(...).
아무튼 해결은 했습니다. 다른 방식으로 코드를 짠 걸 긁어서 써 보다가 깨달은 거지만...
셀레니움 환경설정 오류
0
75
2
네이버 로그인 관련
0
340
2
안녕하세요 셀레니움에 대해서 질문
0
102
1
크롤링 연습사이트 문의
0
120
2
선택자 질문
0
89
2
'특정 요소가 나타날 때까지 스크롤' 부분 에러
0
89
2
자동 로그인 질문
0
107
2
44강 제목, 링크
0
112
1
원하는 값이 없을 때
0
103
2
크롤링한 링크가 엑셀로 들어가면 작동이 안되요
0
246
2
셀레니움 PDF자료는 받을 수 있나요
0
108
2
글목록 추출하기
0
107
2
메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문
0
96
2
강의 노트가 어디에 있는건가요?
0
82
2
강의 커리큘럼 질문
0
111
1
조건문 else 사용하지 않는 이유
0
82
2
셀레니움으로 접근할 수 없는 경우
0
106
2
웹페이지 변경
0
77
2
자바스크립트로 태그 선택 시 질문입니다.
1
71
2
수료증은 어떻게 받나요?
0
127
2
class명을 활용하여 선택자를 만들지 않는 경우..?
0
65
2
드라이버가 안 열려요
0
88
2
이거 해결방법 아시는 분?
0
124
2
네이버 지식인 크롤링..
0
212
2





