336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

메종프랑시스커정 가품 vs 정품 간단비교 / 중고나라, 번개장터 모르면 사기당함

 

번아웃이 와서 그런지 원래 하던 것도 다 안 하게 되고, 저번에 메종프랑시스커정(MFK) 향수 글도 올리려다가 못 올렸다. 나름 그래도 열심히 썼는데 임시저장된 글에 사라졌다. 그냥 다시 쓴다는 마음으로 쓰려고 하는데 많은 도움이 됐으면 좋겠다. 도입부는 사족이 많으니 정가품 비교하고 싶으신 분은 스크롤을 조금 내려주시고, 커정 향수 관심이 많으시면 읽어주셔도 좋아요.

 

 

사족

 

바카라 루쥬  vs 사틴무드 vs 비슷한 향들 

 

개인적으로 커정 제품에서 바카라 루쥬 540을 너무 좋아한다. 달달하면서 요굴하지만 너무 강하지 않은 향. 사바사지만 쇠향, 치과향 때문에 적절한 밸런스를 유지해주는거 같다. 어떤 사람에게는 치과향이 강하게 나서 불호라고 하지만 전 괜찮아서. 비슷한 요굴향이 나는 제품으로 사틴무드, 르라보 어나더13이 있고, 재즈클럽도 비슷하게 달달하다고 한다. 

 

백화점에 가서 바카라 루쥬와 사틴무드 여러 번 고민을 했다. 향이 둘다 너무 좋아서.. 각 왼뿌 오뿌를 해봤는데 처음에는 바카라 루쥬를 들였지만 사틴무드도 역시 들이게 됐다. 사틴무드의 경우 정말 미친 존재감을 내뿜는다. 시향지를 받아왔는데 1달이 지나도 향이 그대로 머물러 있다. 그리고 뭔가 고급지면서 스며드는 달달함이 매력적이다. 그에 비해 루쥬는 조금 더 부드럽다고 해야 되나? 둘다 지속력이 대단한데 오전에 뿌리고 가면 밤까지 어느정도 느껴진다. 옷에는 며칠이 지나도 남아 있는다.

 

르라보 어나더13. 간택을 받아야 하는 향수. 죽음의 피맛을 느끼는 향수. 시향을 했는데 약간 소름끼치는 장면을 목격한 것 같은 느낌이다. 잔인하면서 피가 튀기는 장면, 살인자가 상대방을 죽이고 그 피맛을 즐기면서 웃고 있는거 같은 느낌. 매혹적이면서 영안실 냄새와 쇠향의 조화 그리고 살짝 달달한. 너무 강하게 와서 바카라 루쥬도 심하면 치과향이 강하게날 수 있겠구나라고 생각이 들었다. 재즈클럽은 아직 시향을 못해봐서 


 

 

킬리안 정품 vs 가품 비교 / 중고거래시 100% 사기 예방

킬리안 정품 vs 가품 비교 / 중고나라, 당근거래시 100% 사기 예방 요즘 향수에 빠지면서 시향을 많이 하고 있다. 확실히 비싼 향수들은 그만큼의 값어치를 한다는 것을 느꼈다. 코로나 때문에 시

0goodmorning.tistory.com

이전 글은 킬리안 정품 가품 비교 글이다. 중고나라에서 특히 가품을 많이 팔고 있다. 다시 한 번 조언을 드리자면, 가격이 싸면 의심할 것. 향린이면 택이 없으면 깔끔하게 포기할 것.

 

 

왼쪽 가품, 오른쪽 정품

1. 박스 폰트, 색상 확인

 

커정 향수는 고급지다. 색이며 폰트며 싸구려 티가 나지 않는다. 실크무드의 경우 색상부터 시작해서, 폰트 두께, 금박 다 차이가 났다. 바카라 루쥬의 경우 540은 그냥 프린팅한 느낌. 자세히 보면 왼쪽과 가운데 사진은 붉은 색이 흐릿하다는 것을 알 수 있다. 하지만 이전 글에도 언급했듯이 가품들 퀄리티가 점점 올라가기 때문에 단순히 폰트 색상 가지고는 판단하기 쉽지 않다. 

 

특히나 카메라의 화질, 각도, 방향, 조명에 따라서 구분이 잘 안 되고, 본인이 박스를 가지고 있지 않으면 구분이 더 어렵다. 이 부분은 참고용 정도로만 생각하고 다음으로 넘어가자.

 

 

 

 

왼쪽 정품, 오른쪽 가품

2. 향수 폰트, 색상 확인

 

향수 역시 폰트와 색상으로 가품과 진품이 구별이 가능한 것도 있다. 정품의 경우 날렵하고 정교하지만, 가품의 경우 폰트가 두껍고 싸구려 티가 난다. 중고나라에 올라왔던 경우는 더 두껍고 영롱한 병 색이 이상한 느낌이다. 하지만 이 역시 육안상으로는 오차가 있을 수도 있고, 정품과 가품이 동시에 있을 때나 구분이 가능하지 역시 쉬운 방법이 아니다.

 

 

 

 

 

왼쪽 정품, 오른쪽 가품

3. 뿌~ 하는 분사구 모양을 찾기

 

커정 조향사가 가품이 향수가 나온 것을 보고 살짝 삐쳤는지 입이 튀어나와서 분사구가 뿌 모양을 하고 있나 봅니다. 가품의 경우는 직선으로 되어 있어서 구분이 조금 쉽다. 그리고 추가로 확인해야할 부분이 있으니 우선 3번부터 이해하시고 넘어가면 가품에 당할 일은 없을 것이다.

 

 

 

 

왼쪽 정품, 가운데 정품, 오른쪽 가품

여러 사진을 가져와봤는데 바로 보이시나요? 뭔가 더 동그랗게 올라와 있다. 가품의 경우 길쭉하다다. 헷갈리실까봐 다양한 각도에서 찍은 사진들을 준비했으니 참고.

 

 

 

왼쪽 정품, 가운데 정품, 오른쪽 가품

이제는 정확히 보이시나요? 이렇게 위쪽이 튀어나와 있는 애들이 정품이고 길쭉한 애들이 가품. 하지만 한 가지 더 참고해야할 부분이 있다.

 

 

 

 

4. 플라스틱이 좋아

 

3번 사진을 보시면 화살표로 표시한 부분이 있다. 뿌한 입모양 말고도 정품의 경우는 모든게 플라스틱으로 되어있다. 가품은 알루미늄?으로 되어있다. 이 부분을 왜 언급하냐면 기출 변형들이 종종 등장하기 때문.

 

 

 

 

이건 가품일까요? 뿌하는게 없으니 가품이네!라고 생각할 수 있겠지만 정품이다. 그것도 파정(파워정품). 엥???이라고 하실 수 있겠지만 왼쪽 사진 잘 보시면 국문택이 있다. 너무나도 명확하게 있다. 그래서 3번과 4번을 같이 봐야 한다. 오른쪽 사진을 보면 모든게 다 플라스틱으로 이어져 있다. 

 

 

 

 

이것 또한 마찬가지. 뿌한 모양이 없지만, 저기 맨 윗쪽에 보이는 하얀 국문택. 파정이다. 하지만 이 향수 또한 노즐 주위가 모두 플라스틱이다. 특히 가품 중에 미개봉이라고 해서 싸게 파는 경우가 있어서 확인이 불가능한 경우가 많다. 포장 뜯어서 보여달라고 할거 아니면 그냥 지나가는게 오히려 마음이 편하다. 

 

백화점에서 마음 편하게 국문택이 있는 향수를 사든, 아니면 시빌리지, 바이슈코 같이 보장된 곳에서 사는게 찝찝함을 덜 수 있다. 다음에는 톰포드 가품 구분법에 대해 알아보려고 한다.

 

 

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

킬리안 정품 vs 가품 비교 / 중고나라, 당근거래시 100% 사기 예방


요즘 향수에 빠지면서 시향을 많이 하고 있다. 확실히 비싼 향수들은 그만큼의 값어치를 한다는 것을 느꼈다. 코로나 때문에 시향을 하고싶어도 못 했는데 최근에 풀리면서 많이 돌아다녔다. 어떤 조향사 하시던 분이 프레데릭 말 엉빠썽이 자신의 인생 향수라고 해서 그거부터 맡아봤는데 자연 그대로를 담았지만 내 타입은 아니었다. (나중에는 후기들 크롤링해서 추천시스템을 만들어야지..)

 

백화점을 돌아다니면서 웬만한 브랜드들의 대표 향수들을 맡아봤는데.. 그중에 킬리안, 메종프랑시스 커정, 톰포드가 마음에 들었다. 백화점에서 구매하면 정품 가품 마음은 편하겠지만 잔고는 텅장이 될거 같아서 중고거래를 좀 알아봤다. 근데 가품들이 왜 이렇게 많은지 ㅠㅠ 정보도 별로 없어서 마음 고생하실분들을 위해서 사기 예방 방법들을 모아봤다.

 


0. 가격이 싸면 일단 의심하라

 

너무나 당연한 얘기지만, 본품을 30만원에 사놓고 누가 거의 새제품을 15만원 이하에 팔까? (그런 천사분들은 저한테 연락주세요^^) 진짜 급전이 필요한 사람이라면 관련 판매글을 봐야 한다. 향수에 관심이 있는 사람인가? 다른 향수들은 정품을 팔고 있는가?

 

근데 대부분의 의심이 가는 사람들은 다양한 브랜드의 새제품을 싸게 판다. 그것도 특정 공통적인 향수만 예를 들어 톰포드 로스트 체리나 킬리안 블랙팬텀, 굿걸곤베드, 블레이-부 쿠셔 아베끄(나랑잘래). 대부분 정품급, 병행수입 등을 붙인다.

 

가격이 너무 저렴하다고 싶으면 아쉽지만 패스하는게 나을 수도 있다.



1. 국문텍, 백화점 영수증 확인하기

 

국문텍까지 조작하는 사람은 아직까지 못 봤다. 백화점 영수증이라도 있으면 일단 안심하고 마음을 놓을 수 있다. 면세점일 경우 국문텍이 없는 것으로 아는데 영수증 또는 다른 확인하는 방법을 밑에 자세히 써놓겠다.

 

하지만 킬리안의 경우는 뚜껑을 돌려서 열 수 있어서 주의해야한다. 리필이 되는 향수의 경우 마음만 먹으면 다른 향수로 바꿔치기할 수도 있기 때문에, 미리 시향을 해보고 차이가 나는지 만나서 확인해야 한다. 가격이 한 두푼이 아닌데 웬만하면 직거래로 하기.

 

당근마켓이나 중고나라, 번개장터에서 공병을 구입하는 사람들이 있다. 킬리안, 톰포드의 경우 공병 자체가 매력이 넘쳐서 모을 수도 있지만 불손한 의도를 가진 사람들이 있다.





2. 숨은 그림 찾기

 

*5개 킬리안 쇼핑백(종이백) 중에 다른 것을 찾으세요.

 

마치 백화점에서 산것처럼 하기 위해서 쇼핑백까지 만들어서 파는 경우가 있다. 어떤게 가품인지는 여러 분들이 알아서 판단할 수 있을 것 같아서 언급은 안 하겠습니다. 쇼핑백 이외 박스나 킬리안 소개서는 폰트도 비슷해서 구별하기 쉽지 않다.




왼 : 정품 / 오 : 가품

3. 다른 그림 찾기

 

100% 정확하지는 않지만 이 부분도 정품과 가품(짝퉁) 사이에 차이가 있습니다. 자세히 비교 하시면 킬리안(Kilian)의 K의 두께가 뚜껑에서 다르다는 것을 알 수 있습니다. 아무리 정교하게 만들어도 이거까지 따라하기는 쉽지 않은 모양이네요.




 

왼 : 정품 / 오 : 가품

미세한 차이가 살짝 보이긴 하지만 육안으로 구분하기 쉽지 않습니다. 본인이 원래 킬리안 향수가 있다면 사진과 비교를 할 수 있지만 이걸로 100% 거를 수는 없습니다.

 




왼 2 : 정품 / 오 2 : 가품

4. 무작정 확대하기

 

또 문제의 K네요. 정면을 확인하면 킬리안의 K의 모양이 다르다는 것을 확인할 수 있습니다. 굿걸 곤 베드(Good girl gone Bad)의 경우는 특히 차이가 많이 났습니다. 하지만 이것도 구분하기 쉽지는 않고, 몇몇 가품에서는 K 옆에 부분이 미세하게 떨어져 있는 것을 확인할 수 있어서... 붙어 있으면 의심만 하고 넘어가세요.



 

왼 : 정품 / 오 : 가품

블랙 팬텀의 경우 K 옆에 부분이 떨어져 있는 경우도 있기 때문에, 떨어져 있으면 정품이다(X), 붙어있으면 가품일 확률이 있다(O)로 생각하시면 될거 같습니다. 그리고 코팅(?)이 얼마나 아래까지 있는지도 정품 가품에 따라 다른데 이것도 사진의 각도에 따라 달라져서 넘어가겠습니다.

 




5. 측면을 확인하기

 

본인이 잘생겼는지, 이쁜지 확인하려면 그림자를 확인하라고 했다. 이목구비가 뚜렷하고 조각 같은 연예인들이나 아이돌들은 그림자까지 예쁘다. 김태희는 마네킹이 따로 없어 보인다. 하지만 킬리안은 다르다. 뭔가 흐리멍덩해야 정품이다.

 

 

왼 : 정품 / 오 : 가품

왼쪽 사진은 블랙팬텀. 오른쪽 사진은 여러 킬리안을 모아놓은 사진. 뭔가 가짜 같이 보이는게 정품이다. 오히려 뚜렷하게 문양이 되어 있는 제품이 가품이다. 뭔가 너무 정교하게 잘 만들어진 것 같으면 가품이라고 생각하면 된다. 

 




왼 : 정품 / 오 : 가품

6. 정품 가품 구별 끝장내기

 

솔직히 이거 때문에 글을 썼다. 왠지 모르겠지만 킬리안 가품들은 캡을 빼면 100% 모양이 다르다. 캡에 K가 있나 없나에 따라서 정품/가품을 구별한다고 한다는데 정품에도 K가 없는 경우가 있다.

 

위 사진은 킬리안의 엔젤스 셰어(시향하고 푹 빠졌다)인데 길쭉한 애가 정품이다. 가품은 뭔가 허접한 스프링이 잘 보인다. 톰포드도 이와 비슷한 구조라서 다 비슷한가 싶었는데, 조말론의 경우 뭔가 더 뭉툭한게 정품이라 모든 향수에 적용하기는 어렵다.



혹시나 정품/가품을 알 수 있는 방법이 있으면 댓글로 공유해주세요. 살짝 두려운 점은 이런 글들을 보고 가품을 정품처럼 따라 만드는게 아닌가 걱정이 되기도 한다.



하루만 차은우로..

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

목차 (작성 예정)

(1) 100% 만족할 파이썬 엑셀 사무 자동화, 회사에서 안 된다면?

(2) 엑셀 보안 한 방에 뚫기

(3) 시간 50배 단축, 실무 엑셀 함수 구현 (vlookup, index match 등)

(4) 실무 엑셀 함수 응용

(5) 엑셀 실무용 유용한 함수 및 기능들 파이썬으로 해결

(6) 언제까지 수작업할래? 크롤링과 사진 자동으로 캡쳐, 스샷


오랜만에 글을 썼는데.. 사무자동화 마지막 글이네요. 우선 생각했던건 여기까지고 추가로 필요한 부분 있으면 제가 또 만들지 않을까.. bs4나 셀레니움(selenium)으로 크롤링까지는 금방 완성이 되는데, 자동 캡쳐나 스크린샷을 찍는 방법은 처음으로 시도했다. 검색을 해보면 전체화면 캡쳐를 하는게 대부분이고, 내가 원하는 element나 특정 부분 캡쳐는 설명이 별로 없었다. 

 

복잡하게 좌표값이나 height, witdh를 다 구해서 전체화면 스크린샷을 찍고 원하는 부분만 가져오는 것도 많았다. 물론 크롬에서 쉽게 특정 element를 캡쳐하는 방법도 있었다. 약간 신세계를 경험하는 것 같았는데 자동화가 아니다 보니 패스.. 그래도 짧게 소개해보자면

 

 

 

GSMARENA라는 싸이트에서 빨간색 박스를 친 부분의 사진만 가져오고 싶을 때, 우선 F12 개발자 도구를 켠다. 그 다음에 Elements에서 저 부분을 포함하는 class나 id를 찾고 클릭을 한다. 이후에 shift + crtl + p 를 누른다.

 

 

 

 

그러면 개발자용 명령창이 뜨게 되는데 약자로 cnod를 검색. capture node screenshot이 나오게 되는데, 클릭하면 바로 캡쳐가 된다. 심지어 결과도 깔끔하고 화질도 나쁘지 않다. 그러면 뭐하나.. 자동이 아니면 매번 이 작업을 반복해야 한다.

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
chrome_options = Options()
driver = webdriver.Chrome(options=chrome_options)
 
element = driver.find_element_by_id('specs-list')
element.screenshot('screenshot.png')
 
element_png = element.screenshot_as_png
with open('screenshot.png'"wb"as file:
    file.write(element_png)
cs

다행히 셀레니움 기능중에 특정 element 값만 캡쳐하는 기능이 있었다. screenshot으로 저장하는 기능과 screenshot_as_png로 저장하는 기능인데 차이점은 거의 없는 것 같다. 이렇게 수월하게 되면 개발이 재미가 없지...

 

해결해야할 문제들

- 특정부분이 화면에 나오지 않으면 짤려서 찍혔다. 

- 크롭옵션에 따라 캡쳐가 안 되기도 했다.

- 듀얼모니터에서 실행이 안 됐다.

- 화면 축소시 찍히지 않았다.

 

 

최대한 덜 잘려나오게 하려면 셀레니움이 노트북 화면이 아닌, 듀얼 모니터 화면에서 실행 되어야 하는데 안 됐다. 좌표값을 옮겨서 확대를 하라고 해서 여러 방법 끝에 됐다. 그리고 headless의 경우 어떤 화면에서는 잘 캡쳐가 됐지만, 안 되는 경우도 있어서 뺐다. 

 

 

 

1
2
3
4
5
6
7
8
9
10
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
chrome_options = Options()
 
# chrome_options.headless = True #싸이트마다 다르게 캡쳐가 됨
# chrome_options.add_argument("--kiosk") #F11 눌러진 효과
chrome_options.add_argument("--window-position=2000,0"#듀얼모니터에서 보기
driver = webdriver.Chrome(options=chrome_options)
driver.maximize_window() 
cs

듀얼 모니터 화면에서 캡쳐가 됐다!! 하지만 화면이 잘리지 않으려면 화면을 축소해서 찍어야 했다. 사람들마다 셀레니움 화면을 축소하는 다양한 방법을 소개시켜줬는데 잘 안 됐다. 기본 설정에 들어가서 바꾸라는 사람부터 zoom out을 하라는 것도 있었지만, 값을 바꾸게 되면 css에도 영향을 미치는 것 같았다.

 

 

 

1
2
3
4
5
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
# driver.execute_script("document.body.style.zoom='50%'")
driver.execute_script("document.body.style.transform = 'scale(0.50)'")
cs

document.body.style.zoom을 활용하게 되면 안 된다. document.body.style.transform을 사용해야 한다. 원하는 요소가 한 페이지에 나오면 좋겠지만, 아닌 경우도 있으니 쓰시면 될 것 같습니다. 문제는 어느정도 해결한 듯 보였으나 원하는 이미지가 서로 다른 element에 있어서 이미지 병합까지 하게 됐다. 

 

밑에 과정은 gsmarena에서 기본적인 정보를 크롤링하고 이미지 캡쳐, 병합하는 과정입니다.

 

 

 

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from bs4 import BeautifulSoup
import pandas as pd
import requests
import re
 
#환율
def exchange_rate(today_rate, price,r) : #r은 반올림 자리 숫자
    p_price = round(today_rate * int(price),r)
    return str(p_price)
 
#월
def month_string_to_number(string):
    m = { 'jan'1'feb'2'mar'3'apr':4,  'may':5,  'jun':6,  'jul':7,  'aug':8,  'sep':9,  'oct':10,  'nov':11,  'dec':12 }
    s = string.strip()[:3].lower()    
    try:
        month = m[s]
        return month
    except:
        return '확인 바람'
 
#이름
def crawl_gsmarena(j,today_rate1,today_rate2) :
    
    global phone_name
    url = j
    
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"}
    res = requests.get(url, headers=headers)
    soup = BeautifulSoup(res.text, "html.parser"
 
    tds= soup.find_all('td', attrs={'class''nfo'})
    
    try :    
        phone_name = soup.select('h1.specs-phone-name-title')[0].text
        
    except :
        phone_name = 0
        return phone_name
 
    for td in tds:
        
        global s_year, s_mon, phone_price, exchange
        
        if 'status' in str(td) :
 
        # <td class="nfo" data-spec="status">Available. Released 2021, August 27</td>
            try :
                td = td.text
                s_year = re.findall('\d+', td)[0]
                s_mon = td.split(',')[1]
                s_mon = re.sub('[^a-zA-Z]''', s_mon)
                s_mon = month_string_to_number(s_mon)
                
            except :
                s_year = 'comming_soon'
                s_mon = 'comming_soon'
                
        elif 'price' in str(td) :
            td = td.text 
            # p = td.split()[1]
            
            if '$' in td :
                p = td.split('$')[1].split()[0]
                phone_price = p
                exchange = ''
                    
            elif '€' in td :
                p = td.split('€')[1]
                p = p.split()[0].replace(',','').split('.')[0]
                phone_price = exchange_rate(today_rate1, p,2)  # today_rate 환율 입력
                exchange = today_rate1
                
            elif '₹' in td :
                p = td.split('₹')[1]
                p = p.split()[0].replace(',','').split('.')[0]
                phone_price = exchange_rate(today_rate2, p,3)  # today_rate 환율 입력
                exchange = today_rate2
                            
            elif 'EUR' in td :
                p = td.replace(',','')
                p = re.findall('\d+', p)[0]
                phone_price = exchange_rate(today_rate1, p,2)
                exchange = today_rate1    
 
            else :
                phone_price = td
                exchange = ''
                
    return phone_name, s_year, s_mon, phone_price, exchange
cs

핸드폰 이름, 생산 년도, 월, 핸드폰 가격 등을 가져옵니다.

 

 

 

 

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import os 
import glob
from PIL import Image
import glob
import shutil
 
#이미지 병합
def merge_img(name):
    files = glob.glob('crawling_temp/*.png')
 
    full_width, full_height = 3640 #364로 고정 / 너비가 2배로 찍혀서 반은 없애야 함
 
    for f in files :
        image = Image.open(f)
        _, height = image.size
 
        # full_width = max(full_width,width)
        full_height += height
 
 
    canvas = Image.new('RGB', (full_width, full_height), 'white')
    output_height = 0
    
    for i in files:
        with Image.open(i) as image :
            _, height = image.size
            canvas.paste(image, (0, output_height))
            output_height += height
 
    canvas.save(f'crawling/{name}.png')
    
    shutil.rmtree('crawling_temp')
    
    return 
 
#이미지 리사이징
def resize_img():
    im = Image.open(f'crawling_temp/a.png')
    half = 0.5
    out = im.resize( [int(half * s) for s in im.size] )
    out.save(f'crawling_temp/a.png')
    im.close()
    return 
 
chrome_options = Options()
chrome_options.add_argument('--profile-directory=Default')
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-plugins-discovery")
chrome_options.add_argument("--window-position=2000,0"#듀얼모니터에서 보기
 
driver = webdriver.Chrome(options=chrome_options)
driver.maximize_window() 
 
 
    
urls = 'https://www.gsmarena.com/samsung_galaxy_s21_fe_5g-10954.php' # 찾고자 하는 url 리스트
names = 'samsung galaxy s21' # 검색키워드 리스트
 
for i in range(len(urls)) :
    url = urls[i]
    driver.get(url)
    
    element = driver.find_element_by_class_name("article-info")
 
    if os.path.exists('crawling_temp') :
        pass
    else :
        os.mkdir('crawling_temp')
    
    element.screenshot(f'crawling_temp/a.png')
    resize_img()
    
    driver.execute_script("document.body.style.transform = 'scale(0.50)'"#축소
 
    element2 = driver.find_element_by_id('specs-list')
    element2.screenshot(f'crawling_temp/b.png')
 
    name = names[i]
    if '/' in name :
        name = name.replace('/','')
    merge_img(name)
    
    time.sleep(2# 빠르면 봇으로 인식
    
# 이미 사용중이라고 에러가 뜨면 vs코드 껐다가 다시 실행
print('완료')
    
cs

이미지 병합, 리사이징까지의 과정이 있습니다. 화면을 축소하니까 사진을 잘못 찍는 경우가 있어서, 사진 1장은 원래 크기에서 찍고, 다른 1장은 축소해서 찍었네요. 그리고 리사이징을 해서 병합하는 복잡한 과정을 거쳤습니다. 여러분들이 도전하는 크롤링과 자동 캡쳐 스크린샷 코드는 문제가 없길 바랍니다 ㅠㅠ

+ Recent posts