PinkWink / DataScience

책) 파이썬으로 데이터 주무르기 - 소스코드 및 데이터 공개
http://pinkwink.kr/1070
246 stars 503 forks source link

8장 자연어 처리 시작하기 #28

Open Unoqux opened 6 years ago

Unoqux commented 6 years ago

안녕하세요 선생님, 선생님의 책으로 파이썬을 공부하고 있는 학생입니다. 8-8 여자친구 선물 고르기를 공부하던 도중 계속 오류가 발생하고 있어서 다음으로 넘어가지 못하고 있습니다. dasdas ads 무엇이 문제인가요...

PinkWink commented 6 years ago

해당 주소가 살아 있는지 입력하신 주소가 맞는지 확인이 해보셔야할 것 같습니다.

Unoqux commented 6 years ago

확인을 해봤는데도 저러던 것이라서.....

입력한 주소는 살아있는게 맞긴 했습니다..

mug200ml commented 6 years ago

저도 같은 오류가 발생하는데 https://search.naver.com/search.naver?where=kin&sm=tab_jum&ie=utf8&query='여자 친구 선물'
이라고 주소창에 입력했을때 검색이 되면 주소가 살아 있다고 봐도 되는가요?

그런데 코드로 진행하면 저런 오류가 발생합니다. 검토를 부탁드립니다.

PinkWink commented 6 years ago

상황인지가 늦었습니다. @mug200ml 님 @Unoqux 님 죄송합니다. 네이버가 검색결과에 바로 접근할때 헤더(header)가 필요합니다. 그래서 헤더 정보를 하나 추가해야합니다.

from bs4 import BeautifulSoup 
from urllib.request import urlopen, Request
import urllib

html = 'http://kin.naver.com/search/list.nhn?query={key_word}&page={num}'

req = Request(html.format(num=1, key_word=urllib.parse.quote('여친 선물')));
req.add_header('Referer', 'http://www.naver.com/')

response = urlopen(req)

soup = BeautifulSoup(response, "html.parser")

tmp = soup.find_all('dl')

라고 변경하셔야합니다.