Я ищу фреймворк для захвата статей, затем я нашел Nutch 2.1. Здесь мой план и вопросы в каждом:
1
Добавить страницы списка статей в url/seed.txt Вот одна проблема. То, что я действительно хочу индексировать, это страницы статей, а не страницы списка статей. Но, если я не позволю индексировать страницу списка, Nutch ничего не сделает, потому что страница списка - это вход. Итак, как я могу индексировать только страницу статьи без страниц списка?
2
Напишите плагин для анализа "автора", "даты", "тела статьи", "заголовка" и, возможно, другой информации из html. Интерфейс плагина Parser в Nutch 2.1: Parse getParse (String url, страница WebPage) И класс "WebPage" имеет некоторые предопределенные атрибуты:
public class WebPage extends PersistentBase {
// ...
private Utf8 baseUrl;
// ...
private ByteBuffer content; // <== This becomes null in IndexFilter
// ...
private Utf8 title;
private Utf8 text;
// ...
private Map<Utf8,Utf8> headers;
private Map<Utf8,Utf8> outlinks;
private Map<Utf8,Utf8> inlinks;
private Map<Utf8,Utf8> markers;
private Map<Utf8,ByteBuffer> metadata;
// ...
}
So, as you can see, there are 5 maps I can put my specified attributes in. But, 'headers', 'outlinks', 'inlinks' seem not used for this. Maybe I could put those information into markers or metadata. Are they designed for this purpose?
BTW, the Parser in trunk looks like: 'public ParseResult getParse(Content content)', and seems more reasonable for me.
3
После того, как статьи индексируются в Solr, другое приложение может запросить его с помощью "даты", а затем сохранить информацию о статье в Mysql. Мой вопрос здесь: может ли Nutch хранить статью непосредственно в Mysql? Или я могу написать плагин, чтобы указать поведение индекса?
Является ли Nutch хорошим выбором для моей цели? Если нет, вы, ребята, предлагаете мне другую качественную структуру/библиотеку? Благодарим за помощь.