Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Анализ содержимого сайта / 5 сообщений из 5, страница 1 из 1
15.04.2010, 10:03:34
    #36579855
Ilya_M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ содержимого сайта
Здравстуйте,
не знаю в ту ли тему написал, так что если что извиняйте.
Поставлена задача написать прогу, которая может анализировать содержимое некоего сайта на предмет появления новой информации, содержащей определенный контент (ключевые слова). Если новая информация есть, то уведомить пользователя.
Раньше ничего такого не писал и анализом сайтов не сталкивался. Есть начальное представление как делать:
1. каким то образом обойти все содержимое сайта и выдернуть его для анализа
2. проанализировать содержимое на наличие искомого контента

Хотелось бы услышать мнение форумчан, как бы они это делали, что использовали, в чем реализовали, какие могут быть трудности.
...
Рейтинг: 0 / 0
15.04.2010, 10:26:44
    #36579912
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ содержимого сайта
Ilya_M1. каким то образом обойти все содержимое сайта и выдернуть его для анализа
2. проанализировать содержимое на наличие искомого контента1. Классы для взаимодействия по http. Для C#, например, WebClient или HttpWebRequest/HttpWebResponse. Получаем текст html. В нем ищем ссылки, по ним тоже выполняем запросы.
2. Например, регулярные выражения.
...
Рейтинг: 0 / 0
15.04.2010, 10:53:35
    #36579963
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ содержимого сайта
С давних времен есть такая стандартная утилита, как wget. Она предназначена для выкачки сайтов, умеет залазить по ссылкам и рукурсивно выкачивать все что надо. Подробности . Есть ее порт под винду. Так что писать качалку точно не понадобиться.
После того, как тулза выкачает все, можете напустить на нее либо свою парсалку либо стороннюю, да хоть тото-же grep/awk итп. Так что проблему можно вообще решить bat-файлами.
...
Рейтинг: 0 / 0
15.04.2010, 11:42:01
    #36580092
belugin4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ содержимого сайта
Я бы написал на PowerShell или Python:

PoSh:

1. Скачать при помощи WebClient
2. Выдрать при помощи select-string
3. Сравнить при помощи compare-object

пример тут

Python: есть библиотечка для разбора

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
# Here's a real-world example. It fetches the ICC Commercial Crime Services weekly piracy # report, parses it with Beautiful Soup, and pulls out the piracy incidents: 

import urllib2
from BeautifulSoup import BeautifulSoup

page = urllib2.urlopen("http://www.icc-ccs.org/prc/piracyreport.php")
soup = BeautifulSoup(page)
for incident in soup('td', width="90%"):
    where, linebreak, what = incident.contents[: 3 ]
    print where.strip()
    print what.strip()
    print


В питоне также есть библиотеска для diff
...
Рейтинг: 0 / 0
18.04.2010, 23:44:59
    #36584672
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ содержимого сайта
IMHO конечно. Когда на сайте не слишком много страниц, полное скачивание сайта wget'ом можно считать приемлемым. А когда страниц очень много (новостной сайт или форум, например), да ещё ajax используется - что то сомневаюсь в разумности такого подхода.
Опять же, как часто следует проверять и как быстро уведомить пользователя? Чтоб выкачать и пропарсить сайт в десять тыщ страниц полчаса может и не хватить. Можно нарваться и на блокировку от чрезмерно большого количества запросов, хотя, такой облом бывает не слишком часто.
Мож на сайте есть экспорт в RSS или Atom с последними изменениями? Тогда имеет смысл использовать его как указатель на обновлённые страницы.
По поводу проверки на наличие ключевых слов - можно так же посмотреть в сторону поисковиков. Конечно, сайт может быть запрещён для индексации, да и роботы не каждый день заходят. Так что, это только как вариант.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Анализ содержимого сайта / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]