Успей подписаться, если не хочешь пропустить самое интересное :)
Стоит задача - собрать информацию о самых топовых моделях с OnlyFans сгруппировать эту информацию и записать её туда, куда нам нужно.
Для этого нам потребуется всего несколько простых инструментов:
- Прямые руки
- Ну и естественно немного энтузиазма ;)
Ну что же начнем. В первую очередь сайт с которого мы будем парсить.
Сайт fansmetrics представляет собой сборку самых популярных моделей OnlyFans. Собрать с него данные будет очень просто, так как разметка представляет собой простую таблицу.
Структура очень проста, есть таблица в которой просто находятся данные.
Переходим к реализации задумки. В первую очередь нам необходимо настроить chromedriver. Так это делать я рассказывал тут тут и тут.
Ссылка на сам код реализации будет в конце, а пока разберем несколько компонентов парсера. А именно код получения данных со страницы:
- //get source form page
- $parsing_page = $driver->getPageSource();
- $crawler = new \Symfony\Component\DomCrawler\Crawler($parsing_page);
- //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();
- //get data to save
- $data = ['type'=> "Model:",'model_name'=> $get_name,'url'=> $get_url,'price'=> $get_price];
- }
Для поиска данных на странице используется библиотека Dom Crawler. О ней я расскажу в следующих статьях. В остальном же это простой код поиска каждого элемента найденного списка и записывание каждого найденного элемента в массив.
А вот и обещанный код реализации