forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
<?php
|
|
require_once(dirname(__FILE__) . "/../vendor/autoload.php");
|
|
|
|
use vipnytt\SitemapParser;
|
|
use vipnytt\SitemapParser\Exceptions\SitemapParserException;
|
|
|
|
/**
|
|
* Advanced recursive example
|
|
* Full control in every step
|
|
* Supports sitemaps of any number and size
|
|
* Optimized to never run out of memory
|
|
*/
|
|
|
|
$config = [
|
|
'guzzle' => [
|
|
// put any GuzzleHttp options here
|
|
]
|
|
];
|
|
|
|
try {
|
|
$parser = new SitemapParser('MyCustomUserAgent', $config);
|
|
$parser->addToQueue(['https://www.google.com/robots.txt']);
|
|
while (count($queue = $parser->getQueue()) > 0) {
|
|
// Loop through each sitemap individually
|
|
echo '<h3>Parsing sitemap: ' . $queue[0] . '</h3><hr>';
|
|
$parser->parse($queue[0]);
|
|
foreach ($parser->getSitemaps() as $url => $tags) {
|
|
echo 'Sitemap<br>';
|
|
echo 'URL: ' . $url . '<br>';
|
|
echo 'LastMod: ' . $tags['lastmod'] . '<br>';
|
|
echo '<hr>';
|
|
}
|
|
foreach ($parser->getURLs() as $url => $tags) {
|
|
echo 'URL: ' . $url . '<br>';
|
|
echo 'LastMod: ' . $tags['lastmod'] . '<br>';
|
|
echo 'ChangeFreq: ' . $tags['changefreq'] . '<br>';
|
|
echo 'Priority: ' . $tags['priority'] . '<br>';
|
|
echo '<hr>';
|
|
}
|
|
}
|
|
} catch (SitemapParserException $e) {
|
|
echo $e->getMessage();
|
|
}
|