Created
May 16, 2022 17:31
-
-
Save Prroffessorr/b411caa429946c420a5b67874d053367 to your computer and use it in GitHub Desktop.
fansmetrics.com - parser example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function get_models_for_parsing($driver, $site_url, $settings, $only_free){ | |
$driver->get($site_url); | |
$driver->wait(180)->until( | |
Facebook\WebDriver\WebDriverExpectedCondition::urlContains($site_url) | |
); | |
//get source form page | |
$parsing_page = $driver->getPageSource(); | |
$crawler = new \Symfony\Component\DomCrawler\Crawler($parsing_page); | |
$save_info = new SaveInfoFromPage(); | |
//get info from all model on page | |
foreach($crawler->filter('table tbody')->children() as $content) { | |
$top_models = new \Symfony\Component\DomCrawler\Crawler($content); | |
$get_name = $top_models->filter('p[class="mt-1 text-xs text-gray-600"]')->text(); | |
$get_url = $top_models->filter('a[class="underline js-creator-link"]')->attr('href'); | |
$get_price = $top_models->filter('div[class="md:px-4"]')->text(); | |
//if we need parse models with free folowing | |
if($only_free == true && $get_price == "FREE"){ | |
//get data to save | |
$data = [ | |
'type' => "Model:", | |
'model_name' => $get_name, | |
'url' => $get_url, | |
'price' => $get_price, | |
]; | |
//save data in file | |
$save_info->save_info($data, $settings->saved_info->parcing_models, $settings); | |
} | |
//if we need get all | |
else if($only_free == false){ | |
//get data to save | |
$data = [ | |
'type' => "Model:", | |
'model_name' => $get_name, | |
'url' => $get_url, | |
'price' => $get_price, | |
]; | |
//save data in file | |
$save_info->save_info($data, $settings->saved_info->parcing_models, $settings); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment