Why does the error occur when parsing http://www.bashinform.ru/?
除此之外的所有站点都在解析,但这里有大约10秒的延迟,
1 2 3 4 5 6 7 8 9 10 11 12 13 | import urllib.request from bs4 import BeautifulSoup def get_html(url): response = urllib.request.urlopen(url) return response.read() def main(): print(get_html('http://bashinform.ru/news/')) if __name__ == '__main__': main() |
发生以下错误:
回溯(最近一次最后一次通话):
文件"D: Timur OpenServer domains Parser parser.py",第13行,in
main()
在主文件中输入文件"D: Timur OpenServer domains Parser parser.py",第9行
print(get_html('bashinform.ru/news'))
get_html中的文件"D: Timur OpenServer domains Parser parser.py",第5行
response = urllib.request.urlopen(url)
文件"C: Users 1 AppData Local Programs Python Python36-32 lib urllib request.py",第223行,在urlopen中
return opener.open(url,data,timeout)
文件"C: Users 1 AppData Local Programs Python Python36-32 lib urllib request.py",第526行,打开
response = self._open(req,data)
文件"C: Users 1 AppData Local Programs Python Python36-32 lib urllib request.py",第544行,在_open中
'_open',req)
文件"C: Users 1 AppData Local Programs Python Python36-32 lib urllib request.py",第504行,在_call_chain中
result = func(* args)
在http_open中输入文件"C: Users 1 AppData Local Programs Python Python36-32 lib urllib request.py",第1346行
return self.do_open(http.client.HTTPConnection,req)
do_open中的文件"C: Users 1 AppData Local Programs Python Python36-32 lib urllib request.py",第1321行
r = h.getresponse()
在getresponse中的文件"C: Users 1 AppData Local Programs Python Python36-32 lib http client.py",第1331行
response.begin()
文件"C: Users 1 AppData Local Programs Python Python36-32 lib http client.py",第297行,开头
版本,状态,原因= self._read_status()
文件"C: Users 1 AppData Local Programs Python Python36-32 lib http client.py",第258行,在_read_status中
line = str(self.fp.readline(_MAXLINE + 1),"iso-8859-1")
文件"C: Users 1 AppData Local Programs Python Python36-32 lib socket.py",第586行,在readinto中
return self._sock.recv_into(b)
TimeoutError:[WinError 10060]尝试连接失败,因为从另一台计算机上所需的时间没有收到所需的响应,或者已经建立的连接因为已连接的计算机的错误响应而中断
[19.5年代完成]
您应该使用请求模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import random import requests agents = [ 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko)', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko)'] headers = {"User-Agent":random.choice(agents)} url ="http://bashinform.ru/news/" response = requests.get(url,headers=headers) print(response.text) '<!doctype html> <html lang="ru"> ........ |
错误