2010-11-23 5 views
0

В настоящее время я использую CyberNeko в попытке захватить информацию, которую я хочу с веб-сайта. Тем не менее, я считаю, что веб-сайт проверяет версию агента пользователя/браузера, чтобы просто не хватать содержимое URL-адреса.Groovy: CyberNeko | Пользовательские агенты | Версия браузера

Мне известно об использовании htmlunit для изменения версии браузера, но не уверен, могу ли я это сделать с помощью CyberNeko.

Кто-нибудь знает, возможно ли это сделать?

+0

Подумайте об этом на мгновение:. Если владелец сайта не хочет, чтобы люди скрести странице, может быть, вы не должны пытаться быть аморальными и обходить это? Я уверен, что если вы обратитесь к владельцу сайта, он может быть более чем готов предоставить вам данные в каком-то другом формате, который не накладывает такую ​​большую нагрузку на сайт, как обычно это делают скребки, или, может быть, есть даже доступный API для третьих сторон. – Esko 2010-11-24 09:05:53

+0

Объем контента, который я ищу, является крошечным. Я просто предпочитаю не тратить час на выполнение задачи, которая может быть автоматизирована до гораздо более короткой. – StartingGroovy 2010-11-30 23:22:33

ответ

1

Я никогда не использовал CyberNeko, но я думал, что это всего лишь HTML-парсер, т. Е. Я не думал, что вы можете использовать его для выдачи HTTP-запросов и фактически скачать веб-страницу.

Это может быть тот факт, что в HTTP-запросе, выпущенном CyberNeko, отсутствуют различные заголовки, такие как заголовок пользовательского агента. Легкий способ убедиться, что HTTP-запрос выглядит как запрос, отправленный из браузера, - это использовать HttpClient вместо CyberNeko для загрузки веб-страницы. Есть некоторый пример кода here.

После того, как вы успешно загрузили страницу, используйте CyberNeko, чтобы разобрать биты, которые вы заинтересованы в

Смежные вопросы