@greenhoods

Почему выходит ошибка при парсинге www.bashinform.ru/?

Дали задание пропарсить сайт www.bashinform.ru

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()


Все сайты кроме этого парсятся, но здесь с задержкой примерно 10 секунд выходит следующая ошибка:

Traceback (most recent call last):
File "D:\Timur\OpenServer\domains\Parser\parser.py", line 13, in
main()
File "D:\Timur\OpenServer\domains\Parser\parser.py", line 9, in main
print(get_html('bashinform.ru/news'))
File "D:\Timur\OpenServer\domains\Parser\parser.py", line 5, in get_html
response = urllib.request.urlopen(url)
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 526, in open
response = self._open(req, data)
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 544, in _open
'_open', req)
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 1346, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 1321, in do_open
r = h.getresponse()
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1331, in getresponse
response.begin()
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:\Users\1\AppData\Local\Programs\Python\Python36-32\lib\socket.py", line 586, in readinto
return self._sock.recv_into(b)
TimeoutError: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
[Finished in 19.5s]
  • Вопрос задан
  • 208 просмотров
Решения вопроса 1
@greenhoods Автор вопроса
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)'
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
]
headers = {"User-Agent":random.choice(agents)}

url = "bashinform.ru/news"
response = requests.get(url,headers=headers)
print(response.text)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 70 000 до 120 000 руб.
Popmechanic Москва
от 100 000 до 150 000 руб.
Panda Media Нижний Новгород
от 70 000 руб.
21 авг. 2018, в 11:52
70000 руб./за проект
21 авг. 2018, в 11:28
1000 руб./за проект
21 авг. 2018, в 11:24
40000 руб./за проект