httplib и urllib2 разные ошибки при запросе веб - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь добраться до сети , используя httplib (или urllib2, для меня оба в порядке).

Я просто хочу получить к нему доступ, чтобы разобрать HTML и посмотретьдля чего-то.Однако, неважно, как я пытаюсь этого добиться, все они заканчиваются ошибкой с сервера.

Например:

import httplib
conn = httplib.HTTPSConnection("mangapanda.onl")
conn.request("GET", "/")
response = conn.getresponse()
print response.status, response.reason

Заканчивается на:

500 Внутренняя ошибка сервера

И:

import urllib2
redirect_handler= urllib2.HTTPRedirectHandler()
opener = urllib2.build_opener(redirect_handler)
r = opener.open('https://www.mangapanda.onl/')
print r.status, r.reason

Вызывает исключение в функции открытия с:

urllib2.HTTPError: Ошибка HTTP 403: Forbidden

Я пытался использовать несколько URL-адресов в каждой библиотеке, удаляя окончание "/" из URL-адреса и т. Д., Но пока не смог этого достичь.

Более того, я действительно хочу понять, почему это происходит.Единственная причина, по которой я думаю, заключается в том, что в Интернете следует использовать какое-то перенаправление для запросов, за которыми, возможно, библиотека не может следовать, но опять же после последнего фрагмента, который, как я думал, должен следовать за ним.

Это проблема с синтаксисом URL?Как мне это написать?Зачем?Как я могу решить это?

1 Ответ

0 голосов
/ 20 ноября 2018

Вероятно, из-за того, что сервер не знает, откуда поступает запрос.Кроме того, некоторые веб-сайты не разрешают запросы, которые они считают деятельностью ботов.Чтобы решить эту проблему, вы можете предоставить ложную информацию для запроса.Проверьте библиотеку запросов urllib2 .Также здесь как ввести «поддельные данные» или заголовки.

...