Python

Bing.com에서 배경화면 다운받기 (python, selenium)

rararara 2021. 10. 22. 21:24

 

python 다운로드 및 설치 : https://www.python.org/downloads/

selenium 설치 : windows command 창에서 수행

pip install selenium

os에 맞는 webdriver 다운로드 및 경로 맞춰주기

- https://chromedriver.chromium.org/downloads

import os
os.getcwd() # 현재 경로 확인

test.py

import re
import urllib.request
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome(executable_path='chromedriver')  # Chrome
# driver = webdriver.Firefox(executable_path='geckodriver') # Firefox
list = []
try:
    driver.get(url='https://www.bing.com/')

    img_url_list = []
    try:
        preloadBg = driver.find_element(By.ID, "preloadBg")
        tag_href = preloadBg.get_attribute('href')
        img_url_list.append(tag_href)
        bg_url = img_url_list[0]

        print(bg_url)

        list = re.split('=|&',bg_url)
    except Exception as e:
        print("Exception", format(e))

except Exception as f:
    print("Exception:", format(f))

driver.close()

import os.path
filename = "C:\\Users\\user\\Pictures\\" + list[1]

if not os.path.isfile(filename):
    print ("New file : ",list[1])
    urllib.request.urlretrieve(bg_url, filename)
else :
    print(list[1] + " file already exists.")

b = os.path.getsize(filename)
print ("File size: " + str(int(b/1024)) + " KB")

 

print(img_url_list) # list type
['https://www.bing.com/th?id=OHR.Neowise_ROW4166842789_1920x1080.jpg&rf=LaDigue_1920x1080.jpg']

print(bg_url) # string
https://www.bing.com/th?id=OHR.Neowise_ROW4166842789_1920x1080.jpg&rf=LaDigue_1920x1080.jpg

print(list) 
['https://www.bing.com/th?id', 'OHR.Neowise_ROW4166842789_1920x1080.jpg', 'rf', 'LaDigue_1920x1080.jpg']

print(list[1])
OHR.Neowise_ROW4166842789_1920x1080.jpg