лучшая библиотека, чтобы сделать очистку сети

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

11
задан gyurisc 15 September 2008 в 21:16
поделиться

12 ответов

При использовании Python бросьте хороший взгляд на Красивый Суп (http://crummy.com/software/BeautifulSoup).

Чрезвычайно способная библиотека, делает очистку бриза.

10
ответ дан 3 December 2019 в 02:03
поделиться

Пакет Гибкости HTML Для программистов .NET является потрясающим. Это поворачивает веб-страницы в документах XML, которые могут быть запрошены с XPath.

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a@href")
{
HtmlAttribute att = link"href";
att.Value = FixLink(att);
}
doc.Save("file.htm");

Можно найти его здесь. http://www.codeplex.com/htmlagilitypack

10
ответ дан 3 December 2019 в 02:03
поделиться

Я думаю, что общий ответ здесь должен использовать любой язык + http библиотека + html/xpath синтаксический анализатор. Я нахожу, что с помощью рубина + hpricot дает хорошее чистое решение:

require 'rubygems'
require 'hpricot'
require 'open-uri'

sites = %w(http://www.google.com http://www.stackoverflow.com)

sites.each do |site|
  doc = Hpricot(open(site))

  # iterate over each div in the document (or use xpath to grab whatever you want)
  (doc/"div").each do |div|
    # do something with divs here
  end
end

Для больше на Hpricot см. http://code.whytheluckystiff.net/hpricot/

4
ответ дан 3 December 2019 в 02:03
поделиться

Мне лично нравится WWW:: Механизируйте модуль Perl для этих видов задач. Это дает Вам объект, который смоделирован после типичного веб-браузера, (т.е. можно перейти по ссылкам, заполнить формы или использовать "кнопку"Назад"" вызывающими методами для нее).

Для извлечения фактического содержания Вы могли затем сцепить его до HTML:: TreeBuilder для преобразования веб-сайта Вы в настоящее время посещаете в дерево HTML:: объекты Элемента и извлечение данные Вы хотите ( look_down() метод HTML::Element особенно полезно).

3
ответ дан 3 December 2019 в 02:03
поделиться

Я лично нахожу http://github.com/shuber/curl/tree/master и http://simplehtmldom.sourceforge.net/ потрясающими для использования в моих проектах глобального поиска/очистки PHP.

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

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

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

Я использовал бы LWP (Libwww для Perl). Вот хорошее маленькое руководство: http://www.perl.com/pub/a/2002/08/20/perlandlwp.html

WWW:: Скребок имеет документы здесь: http://cpan.uwinnipeg.ca/htdocs/Scraper/WWW/Scraper.html Это может быть полезно как основа, Вы, вероятно, хотели бы создать свой собственный модуль, который соответствует Вашему ресторану, добывающему потребности.

LWP дал бы Вам основной поисковый робот для Вас для построения.

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

Какой язык Вы хотите использовать?

завихрение с awk могло бы быть всем, в чем Вы нуждаетесь.

0
ответ дан 3 December 2019 в 02:03
поделиться

Было много ответов, рекомендующих, чтобы Perl Механизировал, но я думаю, что Ruby Механизирует (очень похожий на версию Perl), еще лучше. Это обрабатывает некоторые вещи как формы намного более чистым способом синтаксически. Кроме того, существует несколько frontends, которые работают сверху Ruby, Механизируют, которые делают вещи еще легче.

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

Я рекомендовал бы BeautifulSoup. Это не является самым быстрым, но работает действительно хорошо в отношении не-отмеченности (X) страницы HTML, на которых дросселирует большинство синтаксических анализаторов.

0
ответ дан 3 December 2019 в 02:03
поделиться

Можно использовать опрятный, чтобы преобразовать его в XHTML и затем использовать безотносительно средств обработки XML, которые имеет в наличии предпочтительный язык.

0
ответ дан 3 December 2019 в 02:03
поделиться

что кто-то сказал.

используйте ЛЮБОЙ ЯЗЫК.

пока у Вас есть хорошая библиотека синтаксического анализатора и http библиотека, Вы установлены.

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

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

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