PHP-从网站的多个页面检索特定内容
What I want to accomplish might be a little hardcore, but I want to know if it's possible:
The question:
My question is the same as PHP-Retrieve content from page, but I want to use it on multiple pages.
The situation:
I'm using a website about TV shows. All the TV shows have the same URL and then the name of the show:
http://bierdopje.com/shows/NAME_OF_SHOW
On every show page, there's a line which tells you if the show is cancelled or still running. I want to retrieve that line to make an overview of the cancelled shows (the website only supports an overview of running shows, so I want to make an extra functionality).
The real question:
How can I tell DOM to retrieve all the shows and check for the status of the show?
(http://bierdopje.com/shows/*).
The Note:
I understand that this process may take a while because it is reading the whole website (or is it too much data?).
我想要完成的任务可能有点硬核,但我想知道它是否可能: p>
问题: strong> 情况: strong> 真实问题: strong> 注意: strong>
我的问题与 PHP-从页面检索内容,但我想在多个页面上使用它。 p>
我正在使用一个关于电视节目的网站。 所有电视节目都有相同的网址,然后是节目名称:
http:// bierdopje .com / shows / NAME_OF_SHOW
在每个节目页面上,都会有一行告诉您节目是否已取消或仍在运行。 我想检索该行以概述已取消的节目(该网站仅支持运行节目的概述,因此我想制作一个额外的功能)。 p>
如何告诉DOM检索所有节目并检查节目的状态?
( http://bierdopje.com/shows/ *)。 p>
我明白了 这个过程可能需要一段时间,因为它正在阅读整个网站(或者数据太多了?)。 p>
div>
I use phpquery to fetch data from a web page, like jQuery in Dom.
For example, to get the list of all shows, you can do this :
<?php
require_once 'phpQuery/phpQuery/phpQuery.php';
$doc = phpQuery::newDocumentHTML(
file_get_contents('http://www.bierdopje.com/shows')
);
foreach (pq('.listing a') as $key => $a) {
$url = pq($a)->attr('href'); // will give "/shows/07-ghost"
$show = pq($a)->text(); // will give "07 Ghost"
}
Now you can process all shows individualy, make a new phpQuery::newDocumentHTML for each show and with an selector extract the information you need.
Get the status of a show
$html = file_get_contents('http://www.bierdopje.com/shows/alcatraz');
$doc = phpQuery::newDocumentHTML($html);
$status = pq('.content>span:nth-child(6)')->text();
use this code to fetch only the links from the single website.
include_once('simple_html_dom.php');
$html = file_get_html('http://www.couponrani.com/');
// Find all links
foreach($html->find('a') as $element)
echo $element->href . '<br>';