Выскабливание в python для использования открытого API

Я хочу очистить "www.naver.com", поэтому я попытался очистить с помощью открытого API, я написал следующий код:

import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
defaultURL = 'http://openapi.naver.com/search?&'
key = 'key=keyvalue'
target='&target=news'
sort='&sort=sim'
start='&start=1'
display='&display=100'
query='&query='+urllib.parse.quote_plus(str(input("write:")))

fullURL=defaultURL+key+target+sort+start+display+query

print(fullURL)
file=open("C:\\Users\\kimty\\Desktop\\k\\python\\N\\naver_news.txt","w",encoding='utf-8')

f=urllib.request.urlopen(fullURL)
resultXML=f.read()
xmlsoup=BeautifulSoup(resultXML,'html.parser')

items=xmlsoup.find._all('item')

for item in items:
    file.write('---------------------------------------\n')
    file.write('title :'+item.tile.get_text(strip=True)+'\n')
    file.write('contents : '+item.description.get_text(strip=True)+'\n')
    file.write('\n')

file.close()

но оболочка Python показывает только это

============= RESTART: C:\Users\kimty\Desktop\kpython\N\N.py =============
write:lee
http://openapi.naver.com/search?&key=keyvalue&target=news&sort=sim&start=1&display=100&query=lee
Traceback (most recent call last):
  File "C:\Users\kimty\Desktop\k\python\N\N.py", line 19, in <module>
    f=urllib.request.urlopen(fullURL)
  File "C:\Python34\lib\urllib\request.py", line 161, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python34\lib\urllib\request.py", line 464, in open
    response = self._open(req, data)
  File "C:\Python34\lib\urllib\request.py", line 482, in _open
    '_open', req)
  File "C:\Python34\lib\urllib\request.py", line 442, in _call_chain
    result = func(*args)
  File "C:\Python34\lib\urllib\request.py", line 1211, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "C:\Python34\lib\urllib\request.py", line 1186, in do_open
    r = h.getresponse()
  File "C:\Python34\lib\http\client.py", line 1227, in getresponse
    response.begin()
  File "C:\Python34\lib\http\client.py", line 386, in begin
    version, status, reason = self._read_status()
  File "C:\Python34\lib\http\client.py", line 356, in _read_status
    raise BadStatusLine(line)
http.client.BadStatusLine: ''

почему это происходит? как насчет этой оболочки Python говорить со мной? Я использую Windows 8.1 64x, Python 3.4.4

1 ответ

Этот http.client.BadStatusLine является подклассом http.client.HTTPException. Это вернуло вам ошибку http, возможно, ваш ключ API неверен! Если я пытаюсь получить доступ к ссылке через мой браузер, это также выдает мне ошибку.

Это именно тот адрес, который вы пытались запросить.

редактировать

Некоторые люди исправили эту ошибку, импортировав http lib.

Другие вопросы по тегам