유명현

Merge branch 'hotfix/daangn_crawl_error' into 'main'

HOTFIX: resolve parsing price error - over ten thousand won case



See merge request !9
......@@ -3,6 +3,27 @@ from bs4 import BeautifulSoup
import requests
import json
def parse_price(unparsed_price):
over_ten_thousand = False
if "만" in unparsed_price:
over_ten_thousand = True
unparsed_price = unparsed_price.replace("원", "")\
.replace("만", "0000")\
.replace(",", "")\
.split()
print(unparsed_price)
if(over_ten_thousand):
# 100만 2000원 같이 천원 단위가 있을 경우 split 과정에서 만의 단위, 천의 단위가 분리됩니다
if len(unparsed_price) > 1:
parsed_price = int(unparsed_price[0][0:-4] + unparsed_price[1])
else:
parsed_price = int(unparsed_price[0])
else:
parsed_price = int(unparsed_price[0])
return parsed_price
def save_json(parsed_items):
with open('./sample.json', 'w') as f:
json.dump(parsed_items, f, indent=2, ensure_ascii=False)
......@@ -12,12 +33,7 @@ def convert_item_to_dict(item):
dict_item["platform"] = "daangn"
dict_item["name"] = item.find("span", class_="article-title").text.strip()
unparsed_price = item.find("p", class_="article-price").text.strip(" \n ")
unparsed_price = unparsed_price.replace("원", "")\
.replace("만", "0000")\
.replace(",", "")
parsed_price = int(unparsed_price)
print(parsed_price)
dict_item["price"] = parsed_price
dict_item["price"] = parse_price(unparsed_price)
# dict_item["price"] = item.find("p", class_="article-price").text.strip()
dict_item["thumbnailUrl"] = item.find("img")["src"]
dict_item["itemUrl"] = "https://www.daangn.com" + item["href"]
......
{
"length": "0",
"items": []
"length": "6",
"items": [
{
"platform": "daangn",
"name": "rtx 3080 10g 어로스 익스트림 팔거나 3080ti 슈프림 추금 교환",
"price": 1200000,
"thumbnailUrl": "https://dnvefa72aowie.cloudfront.net/origin/article/202205/94cdd237258671d5806a70f64ab2b3c7dcd790da0384b394ef5809fe10c08ced.webp?q=82&s=300x300&t=crop",
"itemUrl": "https://www.daangn.com/articles/403755360",
"extraInfo": "21년10월에 단순 개봉한 제품 구입했고 1주일에 2~3시간 스팀게임만 했습니다\nas1년 연장했고 구매영수증 받아놨습니다\n3080ti 슈프림 추금드리고 교환도 합니다"
},
{
"platform": "daangn",
"name": "RTX 3080 기가바이트 3080 어로스 익스트림 10G 그래픽카드",
"price": 1150000,
"thumbnailUrl": "https://dnvefa72aowie.cloudfront.net/origin/article/202205/B42DADA9DCAC867B1D86871592153570FAE307E8D2D28FCDF72709952344FAD6.jpg?q=82&s=300x300&t=crop",
"itemUrl": "https://www.daangn.com/articles/398175307",
"extraInfo": "마지막 가격다운 오늘까지 안팔리면 그냥 쓸려구여~\nA/s 4년\n신품수준\n가끔 베그만했고 거의 관상용으로만 썼습니다\n풀박스 구성품 모두있습니다\n기스. 하자. 먼지. 없습니다\n결벽증 환자\n이제 낚시하러 갑니다~~~\n그래픽카드. 글카. 기가바이트. 컴퓨터. 게이밍pc. 어로스. 익스트림. 배그. 배틀그라운드. 3080"
},
{
"platform": "daangn",
"name": "컴퓨터 그래픽카드 갤럭시 RTX 3080TI 미개봉 새제품 (3080)",
"price": 1321000,
"thumbnailUrl": "https://dnvefa72aowie.cloudfront.net/origin/article/202204/4334a42d80d5dfda4158b1c0b68c924cd48e914d04dd5f573509e949b61c65e0.webp?q=82&s=300x300&t=crop",
"itemUrl": "https://www.daangn.com/articles/396677715",
"extraInfo": "연락주세요 새제품\n온라인 최저가 150입니다.\n맘변심으루 팔아요\n조금 내고 가능합니다"
},
{
"platform": "daangn",
"name": "RTX3070 GAMING TRIO Z LHR + @로 RTX3080 구합니다",
"price": 700000,
"thumbnailUrl": "https://dnvefa72aowie.cloudfront.net/origin/article/202205/E707C3B588E6973225E6B418D2D51EF94980C8B30D75B9E6FDA1B8F5C1C3AB39.jpg?q=82&s=300x300&t=crop",
"itemUrl": "https://www.daangn.com/articles/403567500",
"extraInfo": "3070중 중상급으로 속하는 트리오Z입니다\n추금은 25~30정도로 생각하구요\n카드 단품이고 사진에 보이듯 흠집이 쪼끔 제조년월 21-08입니다 \nAS기간24-08까지에용 게임만 돌렸습니다\n그리고 파스점수는 평균 점수보다 조금 높게 나오는 카드입니다 AS씰 안 떼어놔서 일련번호로 에이에스 가능합니당\n\n제가 사용해본 카드중 제일 소음 없는 카드같아여"
},
{
"platform": "daangn",
"name": "RTX 3070 GAMING TRIO Z lhr+@로 RTX3080 구합니다",
"price": 700000,
"thumbnailUrl": "https://dnvefa72aowie.cloudfront.net/origin/article/202205/616FB7B2230B955D9CF6BFAC3C4F27CFCC378A5B90FEB9893DA5C6189A880966.jpg?q=82&s=300x300&t=crop",
"itemUrl": "https://www.daangn.com/articles/403566100",
"extraInfo": "3070중 중상급으로 속하는 트리오Z입니다\n추금은 25~30정도로 생각하구요\n카드 단품이고 사진에 보이듯 흠집이 쪼끔 제조년월 21-08입니다 \nAS기간24-08까지에용 게임만 돌렸습니다\n그리고 파스점수는 평균 점수보다 조금 높게 나오는 카드입니다 AS씰 안 떼어놔서 일련번호로 에이에스 가능합니당\n\n제가 사용해본 카드중 제일 소음 없는 카드같아여"
},
{
"platform": "daangn",
"name": "INNO3D 지포스 RTX 3080Ti D6X 12GB ICHILL X4 3080ti 미개봉 팝니다",
"price": 1220000,
"thumbnailUrl": "https://dnvefa72aowie.cloudfront.net/origin/article/202205/d78524ae688e578a55bdea31789c913b761ad6d0279289f3b1d0863302f757e2.webp?q=82&s=300x300&t=crop",
"itemUrl": "https://www.daangn.com/articles/402890416",
"extraInfo": "INNO3D 지포스 RTX 3080Ti D6X 12GB ICHILL X4 3080ti 미개봉 팝니다"
}
]
}
\ No newline at end of file
......