Pobieranie konkretnej informacji z innej strony

Odpowiedz Nowy wątek
2019-03-09 08:04
0

Witam od jakiegoś czasu borykam się z problemem pobrania fragmentu kodu HTML strony i dodania jej do mojego projektu. Wiem, że było już masę takich tematów, ale szukałem sporo po internecie i niestety albo coś nie chciało działać, albo nie potrafiłem podanego rozwiązania zastosować do tego co chcę zrobić.
Konkretnie chodzi mi o to, żeby skrypt pobierał mi z takiej strony https://eu.wargaming.net/clans/wot/500075872/
nazwy osób, które opuściły klan. (najlepiej żeby pobierało dane tylko z 2 może 3 ostatnich dni i wyświetliło nazwy graczy na ekranie) https://imgur.com/a/nzTkZ1k
I teraz pytanie jak to zrobić i czy jest to w ogóle możliwe. Na obecną chwilę jedyne co mi się udało osiągnąć to, że pobiera mi ustaloną liczbę znaków z konkretnej linii html, ale wydaje mi się, że w tym wypadku te wartości będą się zmieniały.
Gra udostępnia API jednak nie dokładnie tę informację, którą potrzebuję, więc chyba zostaje tylko pobieranie z kodu.
Pomoże ktoś?

Pozostało 580 znaków

2019-03-09 08:51
1

Do takiego czegoś spokojnie wystarczy ci http://simplehtmldom.sourceforge.net


Pozostało 580 znaków

2019-03-09 09:33
0

W tym rozwiązaniu mam problem bo wyskakuje taki błąd Fatal error: Uncaught Error: Call to undefined function file_get_html()
Zarówno jak próbuję coś zmienić jak i sam przykład pokazany na tej stronie nie działa.

bo to biblioteka, ktora musisz sciagnac. Przeczytaj uwaznie cala podlinkowana strone. - axelbest 2019-03-09 09:52

Pozostało 580 znaków

2019-03-09 17:18
0

zainstalowałem tą bibliotekę, ale niestety dalej nie działa ponownie wyskakuje Call to undefined function file_get_html()
Nie ma innej prostszej metody na pobieranie tego małego fragmentu strony?

edytowany 1x, ostatnio: mordkaje, 2019-03-09 17:19

Pozostało 580 znaków

2019-03-09 18:28
0

Jest to objete jakimis tagami html?

Pozostało 580 znaków

2019-03-09 18:48
0
szybka_parowka napisał(a):

Jest to objete jakimis tagami html?

Tak w linku podałem jak to wygląda.
Na stronie publicznie dla wszystkich pokazuje się informacja kto opuścił klan
nie potrafie tego pobrać i wstawić nick gracza na swoją stronę. Próbuje coś z tymi bibliotekami jak ktoś wyżej podał ale niestety nie działa mam coś takiego na obecną chwilę

<?php

require('simple_html_dom.php');

$html = file_get_html("https://eu.wargaming.net/clans/wot/500075872/");
$info['nazwa']  = $html->find(".member.js-simple-tooltip.js-tooltip a",0)->innertext;

print_r($info);
?>`

Błędy się nie wyświetlają, ale nazwa też nie
edytowany 9x, ostatnio: mordkaje, 2019-03-09 18:53

Pozostało 580 znaków

2019-03-09 18:55
0

Jesli dane sa objete jakims tagiem divem spam-em etc mozna wyciagnac z pomiedzy tych tagow

edytowany 1x, ostatnio: szybka_parowka, 2019-03-09 18:56

Pozostało 580 znaków

2019-03-09 18:57
0
szybka_parowka napisał(a):

Jesli dane sa objete jakims tagiem divem spam-em etc mozna wyciagnac spomiedzy tych tagow

Dane są objęte <span class="member_name">NICK GRACZA</span>
Problem że nie wiem jak to wyciągnąć

edytowany 1x, ostatnio: mordkaje, 2019-03-09 18:59

Pozostało 580 znaków

2019-03-09 21:32
2

Jesli chodzi o konkretne wyciagniecie danych z pomiedzy tagów to mozna tak:

<?php
$url = 'http://www.onet.pl';
$content = file_get_contents($url);
$first_step = explode( '<use xlink:href="#logoOnet">' , $content );
$second_step = explode("</use>" , $first_step[1] );

echo $second_step[0];

?>

Pozostało 580 znaków

2019-03-09 22:03
0

Jeśli masz już pobrane źródło, to lepiej użyć crawlera. Np.: https://symfony.com/doc/current/components/dom_crawler.html

Albo np.: http://docs.guzzlephp.org/en/stable/

edytowany 2x, ostatnio: serek, 2019-03-09 22:09

Pozostało 580 znaków

2019-03-09 22:29
2
mordkaje napisał(a):

Błędy się nie wyświetlają, ale nazwa też nie

Nie działa ci bo źle to zrobiłeś. Jednak na nic się tu nie zda crawler. Wróciłem do domu i przejrzałem ta stronę. Dane odnośnie użytkowników którzy dołączyli/opuścili klan są odbierane w json:

screenshot-20190309222751.png

A więc jedyne co musisz zrobić to wysłać zapytanie pod
"https://eu.wargaming.net/clan[...]1:23:27+00:00&offset=3600" z odpowiednimi nagłówkami.
Pasuje też zmieniać wartość "date_until" aby zwracało ci dane z określonego przez ciebie okresu.
Potem parsujesz json i masz wszystko czego tylko chcesz.
Dane masz w takiej formie:

screenshot-20190309223057.png


edytowany 1x, ostatnio: MasterOf, 2019-03-09 22:30

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 1

Robot: CCBot