Перепрыгнеть в содержание


* * * * * 1 голосов

Webharvy парсер сайтов кто пользуется?


48 ответов в эту тему

#41 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 07 April 2016 - 15:38

а потом можно использовать htmlagilitypack для парсинга?

#42 OFFLINE   VBman

    Специалист


  • Участник II
  • ПипПипПип
  • 203 сообщения
44

Добавлено 07 April 2016 - 15:47

Вы с товарищем Джефф издеваетесь? Задавая вопросы на которых есть ответы в этой же ветке.

Сообщенияmaxspeed, on 07 April 2016 - 15:38, сказал:

а потом можно использовать htmlagilitypack для парсинга?

СообщенияVBman, on 16 March 2016 - 15:05, сказал:

HtmlAgilityPack - это библиотека для парсинга кода html, который вы караз получите через awesomium. Она преобразует любой код html в XmlDocument. В двух словах - раскидывает хтмл код на блоки которые можно перебирать и оперативней найти что-то нужное. awesomium уже содержит в себе модель DOM для XML и использование HtmlAgilityPack не имеет смысла с ним вместе. Если конечно вы ранее не работали с HtmlAgilityPack, в таком случае вам будет с ним веселее)

Работая с Gecko или Awesomium так же можно перебирать элементы страницы используя модель DOM, не обязательно подключать HtmlAgilityPack.
Парсить страницы, если нужно найти 1-2 параметра можно и обычными функциями для работы со строками
mycsharp.ru/post/16/2013_05_26_rabota_so_strokami_v_si-sharp_klass_string.html

Полученный код - это одна большая строка. Ваша цель найти в ней необходимые данные наипростейщим способом.

#43 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 07 April 2016 - 17:28

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

West Ham<br>
Arsenal<br>

#44 OFFLINE   VBman

    Специалист


  • Участник II
  • ПипПипПип
  • 203 сообщения
44

Добавлено 07 April 2016 - 17:35

Сообщенияmaxspeed, on 07 April 2016 - 17:28, сказал:

спасибо решил задачу как теперь из полученного текста выбрать названия команд West Ham Arsenal

СообщенияVBman, on 07 April 2016 - 15:47, сказал:

Вы с товарищем Джефф издеваетесь? Задавая вопросы на которых есть ответы в этой же ветке.

СообщенияVBman, on 07 April 2016 - 15:47, сказал:

mycsharp.ru/post/16/2013_05_26_rabota_so_strokami_v_si-sharp_klass_string.html Как заменить в строке все подстроки указанной новой подстрокой?
Можно же заменить везде повторяющиеся <BR>на "" ? Или нет?

Отредактировано VBman, 07 April 2016 - 17:36.


#45 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 08 April 2016 - 07:07

спасибо разобрался
а как теперь по нужным матчам перемещаться?
ссылок не нашел в документе
например перебрать все матчи в Чемпионате Англии

#46 OFFLINE   denvb

    Специалист


  • Участник II
  • ПипПипПип
  • 382 сообщения
90

Добавлено 08 April 2016 - 09:27

Сообщенияmaxspeed, on 08 April 2016 - 07:07, сказал:

а как теперь по нужным матчам перемещаться?
bet365 довольно не прост для новичка. Может потренироваться, разобраться на каких-то простых сайтах?

1. открываем ваш пример
https://mobile.38365365.com/#type=Coupon;key=1-1-56-27089296-2-1-0-0-1-0-0-4050-0-0-1-0-0-0-0-0-0;ip=0;lng=1;anim=1

2. интересует "West Ham v Arsenal", ткнули на него - перешли на ссылку
https://mobile.38365365.com/#type=MarketCount;key=1-1-8-54974878-3-0-0-0-1-0-0-0-0-0-1-0-0-0-0-0-0;ip=0;lng=1

3. возвращаемся назад, тыкаем правой мышкой и смотрим код. Видим, что в ссылке используется ключ, который прописан в "data-nav"...

Прикрепленный файл  2016-04-08_104332.png   52.48K   1 Количество загрузок

4. вся логика получения команд и url может быть такой. У вас, разумеется, будут другие селекторы элементов, это пример для явовского jsoup, думаю алгоритм понятен
Elements matches = doc.getElementsByClass("podEventRow");
for (Element match : matches) {
    String data = match.attr("data-nav");
    String key = data.split(",")[2]; // 1-1-8-54974878-3-0-0-0-1-0-0-0-0-0-1-0-0-0-0-0-0
    String url = "https://mobile.38365365.com/#type=MarketCount;key=" + key + ";ip=0;lng=1";

    Element teams = match.getElementsByClass("wideLeftColumn").first();
    String[] info = teams.html().split("<br>");
    String homeName = info[0].trim(); // West Ham
    String awayName = info[1].trim(); // Arsenal
}

Отредактировано denvb, 08 April 2016 - 09:29.


#47 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 08 April 2016 - 21:58

спасибо за помощь
буду пробовать
а betexplorer.com проще чем bet365?

#48 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 12 April 2016 - 11:10

спасибо за совет
только в AgilityPack нет такого
как вытащить атрибут
String data = match.attr("data-nav");

#49 OFFLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПипПип
  • 508 сообщения
37

Добавлено 15 April 2016 - 11:01

разобрался спасибо
а как теперь переключить на десятиричныый формат ставок?