Используя поисковый робот для сравнения цен

Мне нужна основанная на Java сеть с открытым исходным кодом crwaler, который я могу расширить для сравнения цен? Как я делаю сравнение цен? Есть ли какой-либо открытый исходный код для этого?

6
задан Alberto Zaccagni 16 February 2010 в 00:09
поделиться

3 ответа

Создание чего-то, что собирает информацию о ценах с большого количества различных сайтов, потребует много усилий, независимо от того, собираете ли вы информацию из самих магазинов или из существующих сайтов сравнения.

  • Макет веб-сайта у всех будет разным, поэтому вам потребуется настраивать поисковый робот отдельно для каждого из них.

  • Некоторые веб-сайты могут представлять информацию о ценах таким образом, чтобы затруднять очистку; например с использованием AJAX.

Некоторые владельцы веб-сайтов помещают соответствующие страницы в свои файлы robots.txt , чтобы вы не говорили, чтобы вы держались подальше. И если вы проигнорируете это, они могут сделать вам разные вещи, чтобы усложнить жизнь.

Очистка веб-сайтов множества людей без разрешения может сделать вас непопулярными. Это может вызвать угрозы судебных исков или реальных судебных исков от людей, которые считают, что вы вредит их бизнес-модели. Или другие ответы ...

Вы действительно уверены, что хотите это сделать? В самом деле ??

2
ответ дан 17 December 2019 в 02:28
поделиться

Можно использовать LTRIM и RTRIM.

select rtrim(ltrim('abcdab','ab'),'ab') from dual;

Если вы хотите обрезать CHR (13), только когда он поставляется с CHR (10), это усложняется. Во-первых, перевод комбинированной строки на один символ. Затем LTRIM/RTRIM этот символ, затем замените один символ обратно в комбинированную строку.

select replace(rtrim(ltrim(replace('abccccabcccaab','ab','#'),'#'),'#'),'#','ab') from dual;
-121--1317457-

Поскольку вы сказали: "Я планирую сделать мои серьезные разработки C++ в Linux с GCC", VC++ может быть не то, что вы действительно хотите. Многие библиотеки просто плохо компилируются в VC++. Попробуйте сами. Вместо этого рассмотрите возможность запуска Linux в Windows. Есть несколько способов сделать это:

  1. Используйте PuTTY для подключения к машине Linux, и используйте Xming для просмотра окон пользовательского интерфейса. Я бы сделал это только по локальной сети.
  2. Рассмотреть coLinux. Вы можете запустить Linux под Windows и просто отключить Linux, когда вы закончите.
  3. Рассмотрим другие варианты виртуализации, такие как VMWare, для запуска Linux. Почти то же самое, что coLinux, но это может быть проще установить.

Вы даже можете установить Linux непосредственно на свой компьютер. Для запуска Windows всегда можно использовать такие инструменты, как Wine или VMWare.

-121--3866398-

По какой-либо причине вы не можете просто получить свои данные с одного из сотен уже существующих сайтов сравнения цен? Кажется, что было бы проще соскребать nextag или froogle или что-то еще вместо того, чтобы писать краулер, чтобы соскребать миллиарды сайтов магазинов.

1
ответ дан 17 December 2019 в 02:28
поделиться

Взгляните на веб-урожай, вам придется использовать его немного странный и своеобразный синтаксис для обработки веб-страниц, но его следует справедливо расширить до сравните цены:

http://web-harvest.sourceforge.net/samples.php?num=2

3
ответ дан 17 December 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: