В моей текущей установке под управлением Аккуратная Ubuntu и GNOME 2, я использую апплет COMPA для отображения информации о моей главной панели GNOME, что я хочу всегда быть видимым на своем рабочем столе. Мне действительно нравится эта способность показать точно информацию, которую я хочу посредством записи сценария Python, который производит что-то к stdout и наличию, которое COMPA печатают это на моей панели GNOME, обновляя каждый x секунды. Прямо сейчас у меня есть текущая цена биткоинов там, а также курс акций Google.. Вы видите рассматриваемый плагин (COMPA) и информацию, которую он производит посреди верхней панели (щелчок правой кнопкой, "откройте изображение на новой вкладке" для большего размера).
Существует ли способ достигнуть этого в Единице? Я хочу иметь информацию, всегда видимую, мне не придется нажать ничего для просмотра информации.
Программа Индикатор-Sysmonitor для Единицы выполняет эту цель и является в основном заменой для COMPA в Единице. Ниже ссылка, чтобы заставить это действовать как подобный netspeed апплет панели, абсолютно настраивающийся путем изменения сценария, предоставленного в статье: http://www.webupd8.org/2011/05/how-to-display-network-upload-download.html
Для Классика Gnome (я работаю 14.04), существует также апплет индикатора, который позволит Вам выполнить команду или сценарий оболочки и отобразит текст.
sudo apt-get install command-runner-applet
Затем удержите Window+Alt и Щелчок правой кнопкой по панели панели и добавьте апплет.
Апплет бегуна команды имеет оранжевую иконку.
Щелкните правой кнопкой по нему, после того как это помещается в панель, и добавьте свое местоположение командного сценария или сценария оболочки к текстовому полю.
Вы будете изобретать велосипед, чтобы быть уверенными. Но вот основы:
Помещенный они в персистентное устройство хранения данных, таким образом, можно остановить и запустить поисковый робот, не теряя состояние.
Алгоритм:
while(list of unvisited URLs is not empty) {
take URL from list
remove it from the unvisited list and add it to the visited list
fetch content
record whatever it is you want to about the content
if content is HTML {
parse out URLs from links
foreach URL {
if it matches your rules
and it's not already in either the visited or unvisited list
add it to the unvisited list
}
}
}
Поисковые роботы просты в понятии.
Вы добираетесь, корневая страница через HTTP ПОЛУЧАЮТ, анализируют его, чтобы найти URL и поместить их на очередь, если они уже не были проанализированы (таким образом, Вам нужна глобальная запись страниц, которые Вы уже проанализировали).
можно использовать заголовок Типа контента для обнаружения то, что тип содержания, и ограничьте поисковый робот только парсингом типов HTML.
можно разделить HTML-тэги для получения простого текста, который можно сделать анализ текста на (для получения тегов, и т.д., сути страницы). Вы могли даже сделать это на тегах высокого звука/заголовка для изображений, если бы Вы получили усовершенствованный.
И в фоновом режиме у Вас может быть пул потоков, съедая URL от Очереди и делая то же. Вы хотите ограничить количество потоков, конечно.
Если сайты Вашего NPO будут относительно большими или сложными (наличие динамических страниц, то это эффективно создаст 'черную дыру' как календарь с 'следующим днем' ссылка), Вы лучше использовали бы реальный поисковый робот, как Heritrix.
, Если общее количество сайтов некоторые нумеруют страниц, можно сойти с рук просто использование завихрения или wget или собственного. Просто помните, начинают ли они становиться крупными, или Вы начинаете делать свой сценарий более сложным, чтобы просто использовать реальный поисковый робот или по крайней мере посмотреть на его источник для наблюдения то, что является ими выполнение и почему.
Некоторые проблемы (существуют больше):
Википедия имеет хорошую статью приблизительно поисковые роботы , покрывая многие алгоритмы и соображения.
Однако я не потрудился бы писать свой собственный поисковый робот. Это - большая работа, и так как Вам только нужен "простой поисковый робот", я думаю все, в чем Вы действительно нуждаетесь, стандартный поисковый робот . Существует много бесплатных и поисковых роботов с открытым исходным кодом, которые, вероятно, сделают все, в чем Вы нуждаетесь с очень небольшой работой с Вашей стороны.
Вы могли составить список слов и сделать поток для каждого слова искавшим в Google.
Затем каждый поток создаст новый поток для каждой ссылки, которую он находит на странице.
Каждый поток должен записать то, что он находит в базе данных. Когда каждый поток заканчивает читать страницу, он завершается.
И там у Вас есть очень большая база данных ссылок в Вашей базе данных.