Extracting specific data from a web page using PHP

22,787

Solution 1

You can use DOMDocument, like this:

$html = file_get_contents( $url);

libxml_use_internal_errors( true);
$doc = new DOMDocument;
$doc->loadHTML( $html);
$xpath = new DOMXpath( $doc);

// A name attribute on a <div>???
$node = $xpath->query( '//div[@name="changeable_text"]')->item( 0);

echo $node->textContent; // This will print **GET THIS TEXT**

Solution 2

You might want to have a look at the

Simple HTML DOM Library

There is a little tutorial here: http://www.developertutorials.com/tutorials/php/easy-screen-scraping-in-php-simple-html-dom-library-simplehtmldom-398/

That one is a screen scraping API that lets you feed html to it and then get parts of it in a jQuery similiar language.

Share:
22,787
Daniel Silva
Author by

Daniel Silva

I'm a Portuguese Student currently in College (@FEUP). I'm studying Informatics and Computing Engineering. Programming is one of my hobbies, especialy C, PHP, JS, jQuery and other languages and applications such as CSS, HTML, MySQL, etc.

Updated on July 09, 2022

Comments

  • Daniel Silva
    Daniel Silva almost 2 years

    Possible Duplicate:
    HTML Scraping in Php

    I would like to know if is there any way to get from a webpage a specific string of text wich is updated every now and then using PHP. I´ve searched "all over the internet" and have found nothing. Just saw that preg_match could do it, but I didn't understand how to use it.

    imagine that a webpage contains this:

    <div name="changeable_text">**GET THIS TEXT**</div>
    

    How can I do it using PHP, after having used file_get_contents to put the page in a variable?

    Thanks in advance :)