-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
결과값이 나오질 않습니다.
21.02.15 19:13 작성 조회수 79
1
import requests
from bs4 import BeautifulSoup
import re
def get_hotdeal(items):
url ="https://slickdeals.net/newsearch.php?src=SearchBarV2&q={}".format(items)
r= requests.get(url)
bs = BeautifulSoup(r.text,"lxml")
rows = bs.select("div.resultRow")
results = []
for r in rows:
link= r.select("a.dealTitle.bp-p-dealLink.bp-c-link")[0]
href = link.get("href")
if href is None:
continue
href = "https://slickdeals.net" + href
title = link.text
price = r.select("span.price")[0].text.replace("$"," ").replace("from"," ").replace("off"," ").replace("each"," ").strip()
if price.find("/") >= 0 or price == "":
continue
price = float(price)
hot = len(r.select("span.icon-fire"))
results.append((title,href,price, hot))
return results
get_hotdeal("ipad")
#이렇게 만들었는데 터미널에 아무런 값이 반환되지 않습니다.
#리턴값을 프린트하면 값이 나오는데, 왜 함수로 하면 아무값도 나오질 않을까요?
#평소에는 껏다 키면 될때가 있었는데 껏다 켜도 안됩니다
#에러 메세지도 안떠서 어디서 잘못된건지 모르겟어요.
답변을 작성해보세요.
0
남박사
지식공유자2021.12.12
리턴값을 프린트하면 값이 나오는데 함수로하면 아무값도 나오지 않는다는 말씀을 잘 이해하지 못하겠습니다. 어디에 나오지 않는다는 말씀이신지 모르겠습니다. 당연히 프린트를 하면 값이 화면에 출력이 될테고 프린트를 하지 않으면 화면에 아무것도 나오지 않는게 정상입니다.
a = get_hotdeal("ipad")
위처럼 a 라는 변수에 저장하면 메모리상에는 a 라는 변수에 결과값이 기록되어 있을테고
get_hotdeal("ipad")
위처럼 함수를 실행했을때는 그냥 실행만하고 다른 동작은 하지 않습니다.
a = get_hotdeal("ipad")
print(a)
혹은
print(get_hotdeal("ipad"))
함수로 수행한 결과를 출력하려면 위처럼 수정하시면 될듯 합니다.
답변 1