Извлечение контента с нескольких страниц одного сайта - PullRequest
0 голосов
/ 17 октября 2018

У меня есть этот скрипт для извлечения данных с нескольких страниц одного и того же сайта.Есть около 120 страниц.

Вот код, который я использую для получения одной страницы.

$html = file_get_contents('https://www.example.com/product?page=1');

$dom = new DOMDocument;

@$dom->loadHTML($html);

$links = $dom->getElementsByTagName('div');

foreach ($links as $link){
    file_put_contents('products.txt', $link->getAttribute('data-product-name') .PHP_EOL, FILE_APPEND);
}

Как я могу сделать это для нескольких страниц?Ссылки на эти конкретные страницы являются инкрементными, как на следующей странице будет https://www.example.com/product?page=2 и так далее.Как я могу сделать это, не создавая разные файлы для каждой ссылки?

1 Ответ

0 голосов
/ 17 октября 2018

Что по этому поводу:

function extractContent($page)
{
    $html = file_get_contents('https://www.example.com/product?page='.$page);
    $dom = new DOMDocument;
    @$dom->loadHTML($html);
    $links = $dom->getElementsByTagName('div');

    foreach ($links as $link) {
        // skip empty attributes
        if (empty($link->getAttribute('data-product-name'))) {
            continue;
        }
        file_put_contents('products.txt', $link->getAttribute('data-product-name') .PHP_EOL, FILE_APPEND);
    }
}

for ($i=1; $i<=120; $i++) {
    extractContent($i);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...