Python urlopen IOError: [Errno socket error] [Errno 10060]

Търся да получа повече информация за IOError: [Errno socket error] [Errno 10060], когато използвам urlopen в Python 2.7. Използвам личната си интернет връзка със скорост 35MB/s (без прокси).

Отварям множество уеб страници от различни уебсайтове, използвайки скрипт на Python и случайно получавам това съобщение за грешка от време на време:

webpage = urlopen('http://www.thewebpage.com')


IOError: [Errno socket error] [Errno 10060] A connection attempt
failed because the connected party did not properly respond after a
period of time, or established connection failed because connected
host has failed to respond

Тази грешка се появи след опит за отваряне на страници от различни уебсайтове. Следователно не изглежда да е свързано изключително с отварянето на страници от конкретен уебсайт. Получих тази грешка и при mechanize.

Въпросите ми са:

  1. Тази грешка свързана ли е с факта, че изпращам множество заявки към един и същ сървър за кратък период от време? Изчакването ще намали ли шанса за получаване на тази грешка?
  2. Има ли начин да го предотвратим? Мога ли да използвам условен оператор, за да предотвратя срив на скрипта?

Изпълнението на скрипта ми отнема около час и е доста неприятно да го стартирам отново поради тази грешка.


person LaGuille    schedule 11.04.2014    source източник
comment
Можете ли да получите достъп до въпросния уебсайт чрез други средства? (да кажем с curl?)   -  person icktoofay    schedule 11.04.2014
comment
Не съм опитвал curl. Просто съм любопитен относно факта, че за същия URL адрес бих получил тази грешка в определен ден, а не в друг ден. Възниква приблизително веднъж на всеки 2000 пъти, когато отворя URL адрес. Скриптът ми е създаден за целите на уеб скрапинг.   -  person LaGuille    schedule 11.04.2014
comment
@LaGuille Можете ли да предоставите точен URL адрес?   -  person Nishant Nawarkhede    schedule 11.04.2014
comment
Както бе споменато във въпроса, получавам това съобщение за грешка, докато отварям страници от различни уебсайтове. Това не е свързано конкретно с URL. Просто исках да получа повече информация за това какво може да е причинило грешката и дали има някакъв начин да я избегна, тъй като изглежда, че се появява на случаен принцип.   -  person LaGuille    schedule 11.04.2014


Отговори (1)


Изпращането на няколко заявки до един и същи сървър в кратка последователност може много добре да накара сървъра да не отговори, тъй като вашите заявки може да изглеждат като ddos ​​атака. Можете да хванете изключението с клауза try-except и да опитате отново.

person Thayne    schedule 11.04.2014