2014-10-27 2 views
1

Я работаю над проектом с использованием Scrapy.Python Scrapy: объект ответа отличается от исходного кода в браузере

Все требуемые поля, но все отлично разбираются. Содержимое отсутствующего поля просто не отображается в ответе Scrapy (как отмечено в оболочке scrapy), пока он появляется, когда я использую свой браузер для посещения страницы. В ответе на скрипирование ожидаются теги, но не текст между тегами.

В JavaScript нет JavaScript, но это переменная, предоставляемая сервером (это текущее количество посещений этой конкретной страницы). Нет iframe.

Уже настроен пользовательский агент (в файле настроек) в соответствии с моим браузером. Уже установить задержку загрузки (в настройках-файла) до 5.

EDIT (дополнительно):

В чем может быть причина этой тайны?

+0

Если вы можете увидеть его в вашем браузере, но это не в ответе в Scrapy, возможно, что счетчик посещений находится в IFRAME? –

+0

Не включено iframe (обновили вопрос). –

+0

Вы могли бы указать URL-адрес страницы, которую вы пытаетесь очистить? – Vanddel

ответ

1

Это загруженное значение ajax/javascript.

Какие шаги вы предприняли для определения того, что JS не участвует? Я загрузил страницу без javascript, и в то время, когда в этой области страницы содержалось содержимое заглушки («Посещение»), фактические данные были написаны там с помощью запроса ajax.

Вы все равно можете загрузить эти данные с помощью scrapy, он просто потребует дополнительного запроса к конечной точке URL, обычно доступной через аякс на странице. Сервер возвращает количество посещений в XML, используя скрипт по адресу http://www.fincaraiz.com.co/WebServices/Statistics.asmx/GetAdvertVisits?idAdvert=1337688&idASource=40&idType=1001 (попробуйте загрузить этот скрипт, и вы увидите # посещений для страницы, указанной в исходном письме).

Существует еще один запрос ajax, который возвращает «True» для этой страницы, но я не уверен, что такое фактическое значение данных. Тем не менее, это может быть полезно:

http://www.fincaraiz.com.co/WebServices/Statistics.asmx/DetailAdvert?idAdvert=1337688&idType=1001&idASource=40&strCookie=13/11/2014:19-05419&idSession=10hx5wsfbqybyxsywezx0n1r&idOrigin=44

+0

Спасибо, Трэвис, отличный ответ. Я предполагал, что Javascript не был задействован, потому что контент не был в скрипте. Но AJAX решил иначе. –