58 lines
1.5 KiB
Python
58 lines
1.5 KiB
Python
import pandas as pd
|
|
import requests, bs4, urllib, sys, re, math, logging, os
|
|
from datetime import datetime
|
|
import subprocess
|
|
|
|
class imarketDetail:
|
|
def __init__(self,prjname,mode,productCode):
|
|
self.productCode = productCode
|
|
self.prjname = prjname
|
|
self.mode = mode
|
|
self.url = "https://www.imarket.co.kr/product/MallDisplay.do"
|
|
self.bs = self.getHTML()
|
|
|
|
def parameters(self) :
|
|
data = {
|
|
'_method': 'Detail',
|
|
'sc.prdNo': self.productCode
|
|
}
|
|
return data
|
|
|
|
def getHTML(self):
|
|
resp = requests.get(self.url, params=self.parameters())
|
|
resp.raise_for_status()
|
|
resp.encoding='EUC-KR'
|
|
html = resp.text
|
|
bs = bs4.BeautifulSoup(html, 'html.parser')
|
|
return bs
|
|
|
|
def getImgArray(self):
|
|
img = []
|
|
if self.mode == "대표":
|
|
for i in range(2):
|
|
_img = {}
|
|
_img['productCode'] = self.productCode
|
|
_img['prjname'] = self.prjname
|
|
_img['mode'] = self.mode
|
|
_img['action'] = 'check'
|
|
_img['seq'] = i
|
|
if i == 0:
|
|
_img['img'] = self.bs.select('div.img_big img#product_img_big')[0].get('src')
|
|
if i == 1:
|
|
_img['img'] = self.bs.select('meta#ogImage')[0].get('content')
|
|
img.append(_img)
|
|
if self.mode == "상세":
|
|
dimgs = self.bs.select('div.brand_detail img')
|
|
for i in range(len(dimgs)):
|
|
_img = {}
|
|
_img['productCode'] = self.productCode
|
|
_img['prjname'] = self.prjname
|
|
_img['mode'] = self.mode
|
|
_img['action'] = 'check'
|
|
_img['seq'] = i
|
|
_img['img'] = dimgs[i].get('src')
|
|
img.append(_img)
|
|
return img
|
|
|
|
|