2013-09-05 1 views
2

Недавно мне пришлось сканировать какой-то сайт с открытым исходным кодом crawler4j.However, crawler4j не предлагал никаких api для использования. Теперь я столкнулся с проблемой, что я могу разобрать html с функцией и классом, предоставляемой crawler4j, и найти элемент, как мы делаем с jqueryкак разобрать html при использовании crawler4j

+5

Могли бы вы не совместить crawler4j с JSoup? –

+0

Можете ли вы получить больше советов о том, как объединить crawler4j с JSoup? Поскольку, поскольку я обнаружил, что crawler4j не имеет такого класса, как класс Document, который предоставлен Jsoup – mly

+1

, я не использовал crawler4j, но можно ли вернуть html страницы ? Если вы можете получить html или даже URL-адрес, вы можете настроить JSoup так, чтобы он указывал на URL-адрес, и вы можете начать синтаксический анализ. –

ответ

6

Это относительно просто. Для меня работал следующий подход.

В MyCrawler.java:

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
... 
public void visit(Page page) { 
... 
if (page.getParseData() instanceof HtmlParseData) { 
        HtmlParseData htmlParseData = (HtmlParseData) page.getParseData(); 
        String html = htmlParseData.getHtml(); 
        Document doc = Jsoup.parseBodyFragment(html); 
...