Как установить селектор по умолчанию для этих статей с того же сайта? - PullRequest
1 голос
/ 16 августа 2011

Я пытаюсь получить полный обзорный раздел для этого URL

Какие элементы я ищу в трех разных статьях?

http://xbox360.gamespy.com/xbox-360/project-dark/

Можно ли в любом случае создать селектор по умолчанию для извлечения обзора для этой страницы?

http://wii.gamespy.com/wii/ben-10-galactic-racing/

РЕДАКТИРОВАТЬ http://wwww.gamespy.com/pc/6-great-games

Я хотел бы сделать селектор дляразные теги.Поэтому, если выбран один URL-адрес, если у него есть селектор, он загрузит данные, если он этого не сделает, он попробует другой селектор.

Как я могу это сделать?

Это так?можно создавать разные селекторы, ища разные теги для разных статей?

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Это должно получить обзорный текст на всех трех веб-страницах

// Get the overview div
Element overview = doc.select("div#object-overview").last();

// Get the paragraph element
Element paragraph = overview.select("p").last();
System.out.println(paragraph.text());

Что касается различных селекторов для разных веб-страниц, вы можете сделать что-то вроде HashMap.

// Create new HashMap
HashMap<String, String> selectorMap = new HashMap<String, String>();

// Put the Key-Value pair in the Hashmap
selectorMap.put("http://wii.gamespy.com/wii/ben-10-galactic-racing/", "div#object-overview");

// Get the value by supplying the key (the webpage's url)
String selector = selectorMap.get("http://wii.gamespy.com/wii/ben-10-galactic-racing/");

Дайте мне знатьесли это то, что вы искали.

Чтобы получить список возможностей:

// Get the overview div element
Element featureList = doc.select("div.callout-box").last();

Elements features = featureList.select("li");

ListIterator<Element> featList = features.listIterator();
while (featList.hasNext()) {
    System.out.println(featList.next().text() + "\n");

}

Чтобы получить список выпусков:

// Get the div.columns element - this is the base of each edition
Elements editions = doc.select("div.columns");

ListIterator<Element> editionsList = editions.listIterator();
while (editionsList.hasNext()) {
    // Get that edition
    Element edition = editionsList.next();

    // Get the edition name element
    Element editionName = edition.select("h3").first();
    System.out.println(editionName.text());

    // Get the edition info element
    Element editionInfo = edition.select("p").last();
    System.out.println(editionInfo.text() + "\n");

}
1 голос
/ 16 августа 2011

Найдите div с id «обзорным разделом», затем выберите p дочерний элемент.

...