아래 사이트는 robots.txt가 Allow 이므로...
친구가 아래 페이지에서 물건을 구입해서 판매하는데 이미지를 하나씩 다운로드 받으라고 하셔가지고 일 좀 덜어주려고 만들어줬음.
구매해서 재판매하려는 제품의 url만 url 변수에 넣으면 됨. 근데 한장짜리로 되어 있는 것도 있고, 여러개로 나눠져 있는 것도 있넹
타 페이지에도 적용하고 싶으면 tag name 및 attribute 부분만 잘 보면 될 듯..(결국 원하는 값이 어떤 태그에 있는지만 알면 모든게 해결)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
from selenium import webdriver
import urllib.request
import os
import shutil
import sys
DRIVER_DIR = r"크롬드라이버가 있는 경로\chromedriver.exe"
url = "http://sellermarket.co.kr/product/%EC%96%87%EA%B3%A0-%EC%8A%AC%EB%A6%BC%ED%95%9C-%EB%B0%94%EB%94%94%EA%B0%90%EC%9D%84-%EC%9E%90%EB%9E%91%ED%95%98%EB%8A%94-sm-001-%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%82%A4-%EC%BC%80%EC%9D%B4%EC%8A%A4/29018/category/902/display/1/"
baseurl = "http://sellermarket.co.kr"
chrome_options = webdriver.ChromeOptions()
cOptions = webdriver.ChromeOptions()
cOptions.add_argument('headless')
cOptions.add_argument('window-size=1920x1080')
driver = webdriver.Chrome(DRIVER_DIR,options=cOptions)
driver.implicitly_wait(7)
driver.get(url)
url_list = []
img_list = []
j = 0
print("PARSING START")
title = driver.find_element_by_xpath("//meta[@property='og:title']")
title = title.get_attribute('content')
print("TITLE : " + title)
img = driver.find_elements_by_tag_name("img")
for i in img :
url_list.append(i.get_attribute('ec-data-src'))
for i in url_list :
if i :
img_list.append(baseurl + i)
print("PARSING END")
print("SAVE START")
path = str(os.getcwd()) + "\\" + str(title);
if os.path.isdir(path) :
shutil.rmtree(path)
os.mkdir(path)
for i in img_list :
j = j + 1
urllib.request.urlretrieve(urllib.parse.quote(i.encode('utf8'),'/:'), path + "\\" + title + str(j) + ".jpg")
print("SAVE END")
|
cs |
'Python' 카테고리의 다른 글
Python Instagram 해시태그 크롤링 (0) | 2018.12.22 |
---|