PHP веб-сканер, проверьте URL для пути

Я пишу простой веб-сканер, чтобы получить некоторые ссылки с сайта.
Мне нужно проверить возвращенные ссылки, чтобы убедиться, что я выборочно собираю то, что хочу.

Например, вот несколько ссылок, возвращенных с http://www.polygon.com/

[0] http://www.polygon.com/2015/5/15/8613113/destiny-queens-wrath-bounties-ether-key-guide#comments

[1] http://www.polygon.com/videos

[2] http://www.polygon.com/2015/5/15/8613113/destiny-queens-wrath-bounties-ether-key-guide

[3] http://www.polygon.com/features

поэтому ссылки 0 и 2 — это ссылки, которые я хочу получить, 1 и 3 мы не хотим. есть очевидное визуальное различие между ссылками, так как бы я сравнил их?

Как мне проверить, чтобы я не вернул 1 и 3? в идеале я хотел бы иметь возможность вводить что-то, чтобы оно могло адаптироваться к любому сайту.

Я думал, что мне нужно проверить ссылку, чтобы убедиться, что она прошла / 2015 / и т. Д., Но я довольно потерян.

вот код PHP, который я использую, чтобы захватить ссылки:

<?php

$source_url = 'http://www.polygon.com/';
$html = file_get_contents($source_url);
$dom = new DOMDocument;
@$dom->loadHTML($html);
$links = $dom->getElementsByTagName('a');

foreach ($links as $link) {
$input_url = $link->getAttribute('href');
echo $input_url . "<br>";
}
?>

0

Решение

Похоже, регулярные выражения были бы полезны здесь.
Вы могли бы сказать, например:

/* if $input_url contains a 4 digit year, slash, number(s), slash, number(s) */
if (preg_match("/\/20\d\d\/\d+\/\d+\/",$input_url)) {
echo $input_url . "<br>";
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]