Привет. Стоит значит такая задача,есть страницы которая выводит множество значений ,например как на avto.ru при выборе автомобиля,там характеристики всякие. Задача стоит в том чтобы скормить приложению ссылку. А он уже скачал код и то что надо нашел и записал в базу. Вобщем хотелось бы услышать разные мнения кто как начал бы делать.
Здравствуйте, Аноним, Вы писали:
А>Привет. Стоит значит такая задача,есть страницы которая выводит множество значений ,например как на avto.ru при выборе автомобиля,там характеристики всякие. Задача стоит в том чтобы скормить приложению ссылку. А он уже скачал код и то что надо нашел и записал в базу. Вобщем хотелось бы услышать разные мнения кто как начал бы делать.
[берд]
1) каким-то способом конвертировать в plain-text, а потом этот plain-text парсить
2) брать какую-то систему для тестирования веба и с ее помошью выдирать контент (selenium,watin)
[/бред]
а ваобше задача несовсем понятно, какие данные, как часто, и сколько сайтов 1,10,100,1000???
Re[2]: Парсинг страницы
От:
Аноним
Дата:
08.10.09 19:00
Оценка:
Здравствуйте, pumpurumer, Вы писали:
P>а ваобше задача несовсем понятно, какие данные, как часто, и сколько сайтов 1,10,100,1000???
Ну вот смотри берем делаем выборку на сайте здесь Система должна загрузить код страницы и выдрать себе ссылки типа здесь а потом она должна загрузить текст с этйо ссылки и выбрать уже и записать себ данные,двигатель,модель,год,цена,и т п.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, pumpurumer, Вы писали:
P>>а ваобше задача несовсем понятно, какие данные, как часто, и сколько сайтов 1,10,100,1000???
А>Ну вот смотри берем делаем выборку на сайте здесь Система должна загрузить код страницы и выдрать себе ссылки типа здесь а потом она должна загрузить текст с этйо ссылки и выбрать уже и записать себ данные,двигатель,модель,год,цена,и т п.
по выборке страниц: незнаю чем это на .net сделать, а на perl есть какая-то либа, котороя может дернуть все url на заданной странице. соотвецтвенно зная формат урлов которые тебе нужны например должно в урле быть /cars/used/sale/ можеш собрать список страничек которые необходимо загрузить, аналогично выдираются урлы для переходам по страницам поиска.
таким способом работает WWW::Search::Yandex, WWW::Search::Rambler смотреть их на http://search.cpan.org/
еше можно попробывать запустить wget в рекурсивном режиме на этот сайт. ну там на рекурсию кое-какие условия желательно еше поставить.
Re: Парсинг страницы
От:
Аноним
Дата:
08.10.09 19:44
Оценка:
Здравствуйте, Аноним:
WebRequest req = WebRequest.Create(pageurl);
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
if(response.StatusCode == HttpStatusCode.OK)
{
Stream dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.this.htmlpage = reader.ReadToEnd();
// Cleanup the streams and the response.
reader.Close();
dataStream.Close();
response.Close();
}
А потом используете регулярные выражения для получения необходимой информации.
Здравствуйте, <Аноним>, Вы писали:
А>Ну вот смотри берем делаем выборку на сайте здесь
1.5. Запрещается использование автоматизированного извлечения информации данного сайта без письменного разрешения ООО «АВТО.РУ». Любое копирование, перепечатка и/или последующее распространение информации, представленной на данном сайте, или информации, полученной на основе этой информации в результате переработки, в том числе производимое путем кэширования, кадрирования или использованием аналогичных средств, строго запрещается без предварительного письменного разрешения ООО «АВТО.РУ». За нарушение настоящего правила наступает ответственность, предусмотренная законодательством и международными договорами РФ.
А> Система должна загрузить код страницы и выдрать себе ссылки типа здесь а потом она должна загрузить текст с этйо ссылки и выбрать уже и записать себ данные,двигатель,модель,год,цена,и т п. Arachnode.net. Ссылка на вики. Что-то их сайт не открывается. Скачать можно с SourceForge.
... << RSDN@Home 1.2.0 alpha 4 rev. 1245>>
Re[4]: Парсинг страницы
От:
Аноним
Дата:
09.10.09 04:59
Оценка:
Здравствуйте, _Raz_, Вы писали:
_R_>Здравствуйте, <Аноним>, Вы писали:
_R_>1.5. Запрещается использование автоматизированного извлечения информации данного сайта без
а интересно, использование браузера это автоматизированное средство извлечения информации?
Здравствуйте, <Аноним>, Вы писали:
А>а интересно, использование браузера это автоматизированное средство извлечения информации?
спросите в блоге у медведева.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним:
А>А потом используете регулярные выражения для получения необходимой информации.
Зачем же Regex, когда есть более красивые решения: HTML Agility — очень удобен и красив, искать соовтетственно можно что угодно с помощью обычного XPath, что как не крути гораздо мощнее Regex. SgmlReader — впринципе тоже самое, только она в некоторых случаях лезет в инет, что не всегда удобно.
Здравствуйте, _WerWolf_, Вы писали:
_WW>SgmlReader — впринципе тоже самое, только она в некоторых случаях лезет в инет, что не всегда удобно.
А иногда и критично.
При получении dtd xhtml11 strict парсер вылетает с ошибкой при обработке ProcessingInstruction. Конечно все исправляется за пол часа, но оно надо если мс не развивает продукт?
PS. С реализацией от мс не работал. На основании борьбы с sgmlreader с правками от mindtouch.
_R_>1.5. Запрещается использование автоматизированного извлечения информации данного сайта без письменного разрешения ООО «АВТО.РУ». Любое копирование, перепечатка и/или последующее распространение информации, представленной на данном сайте, или информации, полученной на основе этой информации в результате переработки, в том числе производимое путем кэширования, кадрирования или использованием аналогичных средств, строго запрещается без предварительного письменного разрешения ООО «АВТО.РУ». За нарушение настоящего правила наступает ответственность, предусмотренная законодательством и международными договорами РФ.
_R_>>1.5. Запрещается использование автоматизированного извлечения информации данного сайта без письменного разрешения ООО «АВТО.РУ». Любое копирование, перепечатка и/или последующее распространение информации, представленной на данном сайте, или информации, полученной на основе этой информации в результате переработки, в том числе производимое путем кэширования, кадрирования или использованием аналогичных средств, строго запрещается без предварительного письменного разрешения ООО «АВТО.РУ». За нарушение настоящего правила наступает ответственность, предусмотренная законодательством и международными договорами РФ.
I>Этот запрет вообще законен?
А фиг его знает. Это к юристам.
robots.txt и <meta> нет — я б сканил не задумываясь. Вопрос в том, что делать с полученной информацией.
Здравствуйте, igna, Вы писали:
I>Этот запрет вообще законен?
Конечно. Вообще — надо привыкнуть к тому, что вся информация, размещённая в интернете, принадлежит каким-то правообладателям.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
I>>Этот запрет вообще законен? S>Конечно. Вообще — надо привыкнуть к тому, что вся информация, размещённая в интернете, принадлежит каким-то правообладателям.
Обычным средством контроля доступа для ботов в Инете является файл robots.txt. В этом случае его нет, соответственно при полностью автоматической индексации можно доказать, что нарушение не было предумышленными и не могло быть предотвращено техническими средствами.
Ну и текущий ГК противоречит сам себе, так что и с самой возможностью запрещения тоже вопрос.
Здравствуйте, Аноним, Вы писали:
А>Привет. Стоит значит такая задача,есть страницы которая выводит множество значений ,например как на avto.ru при выборе автомобиля,там характеристики всякие. Задача стоит в том чтобы скормить приложению ссылку. А он уже скачал код и то что надо нашел и записал в базу. Вобщем хотелось бы услышать разные мнения кто как начал бы делать.
Как раз вчера реализовывал похожую задачу.
Требовалось: по наличию ссылок (все странички имеют одинаковый / почти одинаковый html-код) распарсить странички и выбрать определенные объявления (ссылки на страницы с рекламой).
Видел возможные решения: искать в Инете возможные html-парсеры, скачивать страницы и их парсить; аналогично скачивать страницы, преобразовывать html в xml (с помощью сторонних утилит) и парсить как xml; использовать класс WebBrowser.
Выбрал последнее. Потому что, этот контролл сам берет на себя построение и структурирование странички, требует мало кода от разработчика (у меня на все ушло 100 с "копейками" строк кода) и просто в понимании (не требовалось изучать документацию, которой зачастую даже нет, сторонних разработчиков) и пр. достоинства. Конечно же, есть и недостатки, но в моей ситуации они были не критичны.
Итого есть одна общедоступная функция у класса, получающая ссылку и набор (иерархию) тегов, и возвращающая массив строк, находящихся в указанных тегах. Полученные строки уже можно парсить как угодно.
Здравствуйте, Cyberax, Вы писали: C>Обычным средством контроля доступа для ботов в Инете является файл robots.txt. В этом случае его нет, соответственно при полностью автоматической индексации можно доказать, что нарушение не было предумышленными и не могло быть предотвращено техническими средствами.
Само сканирование предъявить в суде практически нереально. А вот коммерческое использование полученной информации — только в путь.
C>Ну и текущий ГК противоречит сам себе, так что и с самой возможностью запрещения тоже вопрос.
Ну, может там и есть дырки. Но он пока вообще очень новый, и практики применения пока что маловато. Впрочем, лично я, к примеру, всё равно бы заинтересовался подходящими статьями чисто на предмет лучшего понимания отдалённых последствий.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
C>>Обычным средством контроля доступа для ботов в Инете является файл robots.txt. В этом случае его нет, соответственно при полностью автоматической индексации можно доказать, что нарушение не было предумышленными и не могло быть предотвращено техническими средствами. S>Само сканирование предъявить в суде практически нереально. А вот коммерческое использование полученной информации — только в путь.
Что значит "коммерческое использование полученной информации"? Показ резульатов поиска на сайте с баннером? Продажа результатов автоматического ранжирования?
В общем, там сплошные вопросы.
C>>Ну и текущий ГК противоречит сам себе, так что и с самой возможностью запрещения тоже вопрос. S>Ну, может там и есть дырки. Но он пока вообще очень новый, и практики применения пока что маловато. Впрочем, лично я, к примеру, всё равно бы заинтересовался подходящими статьями чисто на предмет лучшего понимания отдалённых последствий.
Мой юрист занимался анализом ГК. В общем, по его словам — волосы дыбом от него. Он составлен не как нормальный закон, а для удовлетворения нужд определённых групп.
Там очень чётко прослеживаются две части: достаточно стандартный ГК по образцу других стран (вполне разумный, в общем-то), и местные добавления типа слегка странного коллективного управления авторскими правами.
Здравствуйте, Cyberax, Вы писали: C>Что значит "коммерческое использование полученной информации"? Показ резульатов поиска на сайте с баннером? Продажа результатов автоматического ранжирования? C>В общем, там сплошные вопросы.
Не думаю, что это представляет какую-либо трудность. Все имущественные права достаточно чётко перечислены в кодексе. К примеру, показ результатов поиска или майнинга — это, фактически, публичное воспроизведение без согласия правообладателя. А если немножко поработать с юристами, то и на УК можно наскрести.
C>Мой юрист занимался анализом ГК. В общем, по его словам — волосы дыбом от него. Он составлен не как нормальный закон, а для удовлетворения нужд определённых групп.
C>Там очень чётко прослеживаются две части: достаточно стандартный ГК по образцу других стран (вполне разумный, в общем-то), и местные добавления типа слегка странного коллективного управления авторскими правами.
Ну, я достаточно внятно представлял себе особенности старого ЗоАП, но при переносе его внутрь ГК произошли какие-то изменения, эффект которых мне до конца неясен.
Тем не менее, я считаю, что в контексте данного форума углубляться в крючкотворство смысла нет. Авто.ру достаточно внятно изложили своё отношение именно к тому, чем собирается заниматься аноним — как бы оно ни квалифицировалось законом. Я считаю как минимум неэтичным идти на осознанное нарушение их пожеланий. Я бы мог по-другому к этому относиться — если бы авто.ру сам занимался сквоттерством. Но они собирают базу вполне легальными и небесплатными путями. Если кому-то хочется злоупотребить их базой — нужно просто позвонить им и поинтересоваться, почём они отдадут доступ к ней.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
C>>В общем, там сплошные вопросы. S>Не думаю, что это представляет какую-либо трудность. Все имущественные права достаточно чётко перечислены в кодексе. К примеру, показ результатов поиска или майнинга — это, фактически, публичное воспроизведение без согласия правообладателя. А если немножко поработать с юристами, то и на УК можно наскрести.
Ты забываешь про обязательное лицензирование и справедливое использование
C>>Там очень чётко прослеживаются две части: достаточно стандартный ГК по образцу других стран (вполне разумный, в общем-то), и местные добавления типа слегка странного коллективного управления авторскими правами. S>Ну, я достаточно внятно представлял себе особенности старого ЗоАП, но при переносе его внутрь ГК произошли какие-то изменения, эффект которых мне до конца неясен.
Думаешь, тебе одному?
S>Тем не менее, я считаю, что в контексте данного форума углубляться в крючкотворство смысла нет. Авто.ру достаточно внятно изложили своё отношение именно к тому, чем собирается заниматься аноним — как бы оно ни квалифицировалось законом. Я считаю как минимум неэтичным идти на осознанное нарушение их пожеланий. Я бы мог по-другому к этому относиться — если бы авто.ру сам занимался сквоттерством. Но они собирают базу вполне легальными и небесплатными путями. Если кому-то хочется злоупотребить их базой — нужно просто позвонить им и поинтересоваться, почём они отдадут доступ к ней.
Тут есть детали. Если хочется сделать полностью автоматическую систему для всех подобных сайтов, которая не затачивалась бы специально под авто.ру — тогда можно было бы говорить о справедливом использовании.
Опять же, позиция авто.ру весьма лицемерная. С одной стороны, они хотят чтоб их индексировали поисковики, с другой стороны, они это запрещают правилами использования. Если бы они явно прописали "Disallow: *" в robots.txt, то я бы ещё понял.
Здравствуйте, Cyberax, Вы писали: C>Ты забываешь про обязательное лицензирование и справедливое использование
А что у нас про "обязательность лицензирования"? Про справедливое использование — имхо, довольно трудно будет приплести его в случае "перепечатки и распространения".
S>>Ну, я достаточно внятно представлял себе особенности старого ЗоАП, но при переносе его внутрь ГК произошли какие-то изменения, эффект которых мне до конца неясен. C>Думаешь, тебе одному? Приятно чувствовать себя в хорошей компании.
C>Тут есть детали. Если хочется сделать полностью автоматическую систему для всех подобных сайтов, которая не затачивалась бы специально под авто.ру — тогда можно было бы говорить о справедливом использовании.
Сама по себе разработка такой системы вообще ничему не противоречит. То есть, вменить разработчику "заведомо вредоносное ПО" из УК будет в данном случае крайне трудно. А ГК, имхо, на эту тему вообще ничего не говорит.
А вот использование такой системы на auto.ru будет квалифицироваться по-разному — в зависимости от того, каким способом ты применишь его результаты.
C>Опять же, позиция авто.ру весьма лицемерная. С одной стороны, они хотят чтоб их индексировали поисковики, с другой стороны, они это запрещают правилами использования. Если бы они явно прописали "Disallow: *" в robots.txt, то я бы ещё понял.
Я вовсе не уверен, что они хотят, чтобы их индексировали поисковики. Во времена, когда я подбирал себе машину, большинство сайтов вели себя так, как будто они строго против этого — даже тупо запомнить URL на search result можно было только у одного из дюжины.
Кроме того, ГК и robots.txt, насколько я могу понять, живут в разных плоскостях бытия.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.