• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Parser PHP treści stron internetowych

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
376 wizyt
pytanie zadane 15 marca 2020 w PHP przez szaman219 Nowicjusz (140 p.)

Witam,

chciałem sobie napisać parser do stron internetowych w PHP ale niestety nie wiem jak się za to zabrać. Kiedyś sobie taki napisałem ale tam korzystałem z "find" szukając klas czy tagów ale w obecnej wersji PHP to już nie działa i chciałem sobie od nowa napisać.

<?php
    $html = file_get_contents($adres);
	
	$dom = new \DOMDocument();
	$internalErrors = libxml_use_internal_errors(true);
	$dom->loadHTML($html);
	libxml_use_internal_errors($internalErrors);
	$h3 = $dom->getElementsByTagName('h3');
	$kolekcja = [];
	for($i = 0; $i < 5; $i++){
		$kolekcja[] = $h3->item($i)->value;
	}
	echo $kolekcja[0];
?>

Napisałem takie coś przy czym w zmiennej $adres przekazuje adres mojej strony https://smolkastrony.pl.

Próbowałem różnymi sposobami ale nie mogę dostać np wartości z h3 bo jest problem z "value". Pewnie jest jakiś prosty sposób, żeby to zrobić ale nie umiem tego znaleźć i tu zwracam się z prośbą do Was.

Jak ktoś da jakąś podpowiedź będę bardzo wdzięczny :)

Chętnie przygarnę wszystkie uwagi i wskazówki jak taki parser napisać.

 

Pozdrawiam

2 odpowiedzi

0 głosów
odpowiedź 15 marca 2020 przez Mariusz08 Maniak (62,280 p.)

Nie wiem czy do końca o to chodzi, trochę chatotycznie opisałeś swój problem, ale nie zaszkodzi jeśli podlinkuję :)

https://symfony.com/doc/current/components/dom_crawler.html

komentarz 16 marca 2020 przez szaman219 Nowicjusz (140 p.)
Dzięki przejrzę, a w skrócie to chodziło mi o wskazówki jak napisać sobie w PHP parser do stron internetowych.

 

Pozdrawiam :)
komentarz 17 marca 2020 przez Ehlert Ekspert (214,470 p.)
Ale po co, skoro jest grupa ludzi, która zna się na temacie, zrobiła to i jest to dostępne za darmo.
0 głosów
odpowiedź 17 marca 2020 przez eunstachy Stary wyjadacz (14,180 p.)

Podejrzewam, że chcesz otrzymać tekst wszystkich nagłówków h3. W pętli for wstaw coś takiego 

$kolekcja[] = $h3->item($i)->textContent;

A jeśli jesteś ciekaw co jeszcze możesz "wyciągnąć" z tego elementu wstaw 

var_dump($h3->item($i));

 

komentarz 19 marca 2020 przez szaman219 Nowicjusz (140 p.)
Dokładnie o to mi chodziło :) Wielkie dzięki :)

Podobne pytania

0 głosów
2 odpowiedzi 430 wizyt
pytanie zadane 28 lutego 2018 w PHP przez Kamil Jarzyna Użytkownik (940 p.)
0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 24 marca 2018 w PHP przez Kamil Jarzyna Użytkownik (940 p.)
0 głosów
0 odpowiedzi 260 wizyt
pytanie zadane 5 marca 2018 w PHP przez Kamil Jarzyna Użytkownik (940 p.)

93,164 zapytań

142,175 odpowiedzi

321,925 komentarzy

62,491 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 453p. - Marcin Putra
  2. 453p. - dia-Chann
  3. 447p. - Łukasz Piwowar
  4. 443p. - CC PL
  5. 431p. - Łukasz Eckert
  6. 428p. - rafalszastok
  7. 423p. - Michal Drewniak
  8. 423p. - Adrian Wieprzkowicz
  9. 418p. - rucin93
  10. 415p. - Mikbac
  11. 410p. - Piotr Aleksandrowicz
  12. 408p. - ksalekk
  13. 402p. - Mariusz Fornal
  14. 401p. - Dawid128
  15. 392p. - ikarek-one
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...