Найти - Пользователи
Полная версия: скраппер kinopoisk
Начало » Network » скраппер kinopoisk
1
sandric
Привет я пытаюсь написать скрипт для парсинга инфы о фильмах используя кинопоиск и imdb. Не работает кинопоиск, а именно после захода на любую страницу почему то редиректит на главную страницу. Код предельно прост:

class Parser:

domainName = ""

def __init__(self, domainName):

self.domainName = domainName


def openURL(self, url):
req_str = 'http://www.' + self.domainName + '/' + url + '/'
print req_str
req = urllib2.Request(req_str)
req.add_header('User-Agent', 'Chrome')
f = urllib2.urlopen(req)
return f.read()

if __name__ == "__main__":

myParser = Parser('kinopoisk.ru/level/1/film')

page = myParser.openURL('300')
print page
Кто знает в чем у меня ошибка отпишитесь плз.
Ferroman
Прежде, чем задавать вопрос, следует пользоваться поиском.
Проблема уже обсуждалась
http://python.su/forum/viewtopic.php?id=4888
sandric
Прежде, чем задавать вопрос, следует пользоваться поиском.
Проблема уже обсуждалась
http://python.su/forum/viewtopic.php?id=4888
Вообщето нет. В той теме проблема была с ошибкой 302 и тем, что сайт редиректил сам на себя, пока питон не выводил ошибку. У меня же ошибки не выводиться - скрипт такой же как и в результате решения той темы, просто я перехожу не на страницу с каким то фильмом, а на главную.
truporez
1. попробуйте прикрутить urllib2.HTTPRedirectHandler()
2. передавайте больше информации о браузере в заголовках, нормальный useragent, accept. посмотрите, что шлет ваш браузер в заголовках.
3. посмотрите как читает страницы mechanize, spynner.
dimabest
sandric
Вообще-то нет. В той теме проблема была с ошибкой 302 и тем, что сайт редиректил сам на себя, пока питон не выводил ошибку. У меня же ошибки не выводиться - скрипт такой же как и в результате решения той темы, просто я перехожу не на страницу с каким то фильмом, а на главную.
мдее…

302 - это не ошибка, это один из статус кодов, возвращаемый веб-сервером. 302 говорит что надо перейти на страницу указанную в HTTP-заголовке “Location”. 404 - страница не найдена. 200 - все ок, принимай данные.

Твоя проблема очевидна - кинопоиск редиректит тебя на главную страницу, причем по той же причине что и выше указанном топике.

Заголовки надо передавать!

Какие? Узнать очень просто - ставишь дополнение к мозилле, например “Tamper data” (https://addons.mozilla.org/ru/firefox/addon/966), затем заходишь на любой сайт - и копируешь в свою программу заголовк-значение, которые там увидишь.

ps: для кинопоиска достаточно двух - “User-Agent” и “Accept”. Без первого тебя отправят в вечный редирект кодом 302, а без второго просто перенаправят на главную страницу.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB