首页 文章

解析http://www.bashinform.ru/时为什么会出错?

提问于
浏览
0

除此之外的所有站点都在解析,但这里有大约10秒的延迟,

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行,在main()文件“D:\ Timur \ OpenServer \ domains \ Parser \ parser.py”中“,第9行,主要打印(get_html('bashinform.ru/news'))文件”D:\ Timur \ OpenServer \ domains \ Parser \ parser.py“,第5行,在get_html response = urllib.request.urlopen (url)文件“C:\ Users \ 1 \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ urllib \ request.py”,第223行,在urlopen中返回opener.open(url,data,timeout)文件“C:\ Users \ 1 \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ urllib \ request.py”,第526行,打开响应= 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结果= func(* args)文件”C:\ Users \ 1 \ AppDat a \ Local \ Programs \ Python \ Python36-32 \ lib \ urllib \ request.py“,第1346行,在http_open中返回self.do_open(http.client.HTTPConnection,req)文件”C:\ Users \ 1 \ AppData \本地\ Programs \ Python \ Python36-32 \ lib \ urllib \ request.py“,第1321行,在do_open r = h.getresponse()文件”C:\ Users \ 1 \ AppData \ Local \ Programs \ Python \ Python36- 32 \ lib \ http \ client.py“,第1331行,在getresponse 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中返回self._sock.recv_into(b)TimeoutError:[WinError 10060]尝试连接是unsucc有趣,因为从另一台计算机上所需的时间没有收到所需的响应,或者由于已连接的计算机的错误响应而已经 Build 的连接中断[在19.5s完成]

2 回答

  • 0

    您应该使用请求模块

    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>\n<html lang="ru">\n........
    
  • 5

    错误 WinError 10060 表示您无法成功连接到主机 . 当我尝试在我的浏览器中访问该网站时,浏览器会将 www 添加到url(您的python代码不会自动执行此操作) . 尝试将网址更改为 http://www.bashinform.ru/news/ (包括 www ) .

相关问题