Найти - Пользователи
Полная версия: Grab не загружает полностью страницу
Начало » Python для новичков » Grab не загружает полностью страницу
1 2
bayah
Привет.
Пытаюсь с помощью фреймворка Grab распарсить эту траничку:
http://technopoint.ru/catalog/defect

Делаю:
from grab import Grab
g = Grab()
g.go('http://technopoint.ru/catalog/defect')
g.response.body

И вот в ответе страничка загружена не полностью, например, тегов <feildset>, которые отвечают за категории товаров всего лишь две пары. Почему нет остальных - не понятно.
Думал Ajax ом подгружается остальное, но смотрел через Инструменты разработчика Chrome, нашел только собственно сам запрос к http://technopoint.ru/catalog/defect и в ответе уже полноценную страницу.

Подскажите в чем проблема?
terabayt
bayah
например, тегов <feildset>, которые отвечают за категории товаров всего лишь две пары
плохо ищите
>>> from grab import Grab
>>> g = Grab()
>>> g.go('http://technopoint.ru/catalog/defect')
<grab.document.Document object at 0xb66b138c>
>>> for i in g.doc.select('//fieldset/legend/a/text()').selector_list:
...     print i.text()
...     
... 
Видеорегистраторы
Микроволновые печи
Мультиварки
Утюги
Фены
Хлебопечки
Чайники электрические
Стиральные машины
Плиты электрические
Вытяжки
Массажеры
Водонагреватели электрические
Вентиляторы
Все 15 товаров
Кофемашины
Рубанки
Блендеры
Мясорубки
Термопоты
Плитки электрические
Пароочистители
Паровые станции
Шашлычницы электрические
Холодильники полноразмерные
Фондю и шоколадные фонтаны
Вакуумные упаковщики
Стиральные машины
Утюги
Пароочистители
Паровые станции
bayah
terabayt
плохо ищите

А вот мой результат:
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from grab import Grab
>>> g = Grab()
>>> g.go('http://technopoint.ru/catalog/defect')
<grab.document.Document object at 0x00000000035D3048>
>>> for i in g.doc.select('//fieldset/legend/a/text()').selector_list:
	print(i.text())
	
Шашлычницы электрические
Холодильники полноразмерные
>>>
terabayt
bayah
on win32
ну значит пользователям виндовс можно покупать только шашлычницы и холодильники
Решение:
переходите на Линукс и станут и вам доступны иные товары :)
посмотрите код что возвр сервер с помощью urllib или чего-то подобного
WoMax
Похоже это обладателям других ай пи можно покупать только шашлычницы и холодильники. У меня в браузере тоже видно только 2 категории, зашел под ТОРом - и появились все.
bayah
WoMax
Не, ну бред же)
Через браузер-то грузится все нормально.
Я думал, что может из за версии Пайтона или библиотек, но раз вы говорите, что под ТОРом загружается, то я даже не знаю.
Хм…
bayah
WoMax
Похоже это обладателям других ай пи можно покупать только шашлычницы и холодильники. У меня в браузере тоже видно только 2 категории, зашел под ТОРом - и появились все.
А каким браузером проверяли?

J.R.
.
WoMax
bayah
А каким браузером проверяли?
Mozilla firefox for ubuntu 39.0.3
TOR

giveback
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from grab import Grab
>>> g = Grab()
>>> g.go('http://technopoint.ru/catalog/defect')
<grab.response.Response object at 0x032EB2A0>
>>> for i in g.doc.select('//fieldset/legend/a/text()').selector_list:
	print i.text()
	
Видеорегистраторы
Смартфоны
Микроволновые печи
Мультиварки
Утюги
Фены
Хлебопечки
Чайники электрические
Стиральные машины
Плиты электрические
Вытяжки
Водонагреватели электрические
Вентиляторы
Все 10 товаров
Кофемашины
Рубанки
Блендеры
Мясорубки
Компактные электропечи
Фен-щетки
Осушители воздуха
Плитки электрические
Пароочистители
Паровые станции
Морозильные шкафы
Холодильники полноразмерные
Фондю и шоколадные фонтаны
Вакуумные упаковщики
Стиральные машины
Утюги
Пароочистители
Паровые станции
>>> 

винда
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