검색어 랭킹과 비슷하게 다른 문제를 만들어 보았습니다.
다음에서 날씨 정보를 크롤링 해와서 프린트 해주는 예제 입니다.
import requests
from bs4 import BeautifulSoup
import time
def time_function(f):
def wrapper(*args,**kwargs):
start_time = time.time()
result = f(*args,**kwargs)
end_time = time.time() -start_time
print("{} {} time {}".format(f.__name__,args[1],end_time))
return wrapper
@time_function
def r_find_all(url , parser):
r = requests.get(url)
if r.ok :
bs = BeautifulSoup(r.text,parser)
#print(bs)
lists = bs.select(".list_weather > li")
for li in lists :
areaName = li.find("span" ,{"class": "txt_part"}).get_text()
temper = li.find("span" ,{"class": "txt_temper"}).get_text()
status = li.find("strong").get_text()
print("지역 : {} | 날씨 : {} | 온도 : {}".format(areaName,status,temper))
@time_function
def r_select(url,parser):
r = requests.get(url)
if r.ok :
bs = BeautifulSoup(r.text,parser)
lists = bs.select(".list_weather > li")
for li in lists :
areaName = li.find("span" ,{"class": "txt_part"}).get_text()
temper = li.find("span" ,{"class": "txt_temper"}).get_text()
status = li.find("strong").get_text()
print("지역 : {} | 날씨 : {} | 온도 : {}".format(areaName,status,temper))
#naver가 이제 바뀌었기 때문에 다음의 날씨 정보로 가져오자
print("다음에서 가져온 날씨 정보")
r_find_all("https://www.daum.net","html.parser")
r_select("https://www.daum.net" , "lxml")
답변 1
한글 변수의 한글 상태를 만드는 법?
0
40
0
38강 = 연산자 더하고 빼기
0
66
2
주석처리
0
121
1
함수의 파라미터값 msg
0
158
1
강의자료 이미지 안나옴
0
241
3
강의자료 질문 두번째
0
166
3
강의자료 관련 질문
0
119
1
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
0
241
1
소수 너무 어려워요
0
247
1
imagefont 함수 사용
0
243
1
pylint
0
360
1
add 함수 문의 ㅠㅠ
0
288
1
형식 문의드립니다.
0
213
1
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
0
610
1
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
0
258
1
zsh: command not found: pylint
0
273
1
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
0
548
1
질문드립니다.
1
379
2
list.reverse() 출력에 대해서 질문있습니다.
1
440
1
데코레이터 함수 및 동작시간 질문입니다.~
1
330
2
opencv 사용하면서 궁금한점 (해상도)
1
786
1
질문드립니다.
1
303
1
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
1
448
1
크롤링안되는 현상 문의 드립니다.
1
429
1





