• 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

Object Storage Arubacloud
0 głosów
306 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,300 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 (212,670 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 314 wizyt
pytanie zadane 28 lutego 2018 w PHP przez Kamil Jarzyna Użytkownik (940 p.)
0 głosów
1 odpowiedź 190 wizyt
pytanie zadane 24 marca 2018 w PHP przez Kamil Jarzyna Użytkownik (940 p.)
0 głosów
0 odpowiedzi 163 wizyt
pytanie zadane 5 marca 2018 w PHP przez Kamil Jarzyna Użytkownik (940 p.)

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

61,937 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...