Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Загрузка страницы для дальнейшего парсинга [RSS Feed]

#1 Ноя. 26, 2013 20:56:04

bdshadow
Зарегистрирован: 2013-11-26
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Загрузка страницы для дальнейшего парсинга

Доброго времени суток!
Подскажите, как подгрузить код странички в том виде, в каком мы его видим в браузере. Я хочу подгрузить страницу, для её дальнейшего парсинга. Для этого делаю всё очевидно стандратно:

url = "ht@tp://www.5@zvezd.ru/schedule" #уберите @
page = urllib2.urlopen(urllib2.Request(url))
soup = BeautifulSoup(page.read())
# далее парсинг
Однако если взглянуть на HTML, который мы таким образом получили, и тот, что получаем, когда заходим просто через браузер - разные. В данном конкретном примере - нет фильмов.
<div class="sh_films_block">
        <div class="no_film_message">
         Ничего не нашел по заданным условиям.
         <br/>
         Попробуйте расширить условия.
        </div>
С помощью инструментов разработчика хрома посмотрел HTTP запросы которые отправляются на сервер, но самое информационное там - это куки. Попробовал так (четко повторил запрос как в браузере):
    url = "ht@tp://www.5@zvezd.ru/schedule" #уберите @
    values = {'Cookie': "BITRIX_SM_ACTUAL_CITY_ID_1=2; BITRIX_SM_COORDINATE_X=55.755768; BITRIX_SM_COORDINATE_Y=37.617671; и ещё кое-что",
              'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
              'Accept-Encoding': "gzip,deflate,sdch",
              'Accept-Language': "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4",
              'Connection': "keep-alive",
              'Host': "w@ww.5@zvezd.ru", #уберите @
              'Referer': "ht@tp://www.5@zvezd.ru/cinemas/paveletskaya/",
              'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36"}
    data = urllib.urlencode(values)
    page = urllib2.urlopen(urllib2.Request(url, data))
    soup = BeautifulSoup(page.read())
Однако это тоже не привело к нужному результату. Подскажите, как подгрузить код странички в том виде, в каком мы его видим в браузере.
Заранее спасибо

Отредактировано bdshadow (Ноя. 26, 2013 20:56:46)

Офлайн

#2 Ноя. 26, 2013 21:12:01

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Загрузка страницы для дальнейшего парсинга

Потому что вы не тот урл парсите.
Нужно что-то типа http://www.5zvezd.ru/ajax/scheduleFilter.php

Офлайн

  • Начало
  • » Web
  • » Загрузка страницы для дальнейшего парсинга[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version