краулер в laravel с использованием GuzzleHttp - PullRequest
0 голосов
/ 06 мая 2020

теперь я реализую laravel проект для значения поискового робота с сайта tiktok, используя GuzzleHttp.

, например. Я хочу сканировать данные с этого URL

https://www.tiktok.com/@zihaolol98

, и я хочу собрать имя, изображение профиля, количество подписчиков.

С этого момента я просто успешно подбираю имя. вот мой код.

   $client = new \GuzzleHttp\Client();

   //Get Name
   $response = $client->get('https://www.tiktok.com/@zihaolol98', ['headers' => ['User-Agent' => 'spider']]);
   preg_match_all('/<header(.*?)class="(.*?)">(.*?)<\/header>/s', $response->getBody(), $getname);
   preg_match_all('/<h1(.*?)class="(.*?)">(.*?)<\/h1>/s', $getname[3][0], $name_found);
   $name = $name_found[3][0]; 

он возвращает zihaolol98 в качестве имени

далее, я хочу собрать изображение профиля и количество подписчиков. Я уже пробовал этот код, но все равно не смог. вот код

   //crawl Profile Picture
   preg_match_all('/jsx-\d{10}(.*?)jsx-\d{10}(.*?)(.*?)jsx-\d{10}(.*?)avatar-wrapper(.*?)/s', $response->getBody(), $picture_matches);
   dump($picture_matches); 

   //crawl followers
   preg_match_all('/title="Followers"/s', $response->getBody(), $follower);
   dump($follower);

, если мы видим элемент проверки в браузере, я хочу, чтобы код возвращал значение

изображение профиля https://mpak-suse1.akamaized.net/res/usericon/304/icon-56105311844962304-425.jpg

подписчики 330.6K

пожалуйста, помогите мне в этом. можно ли вернуть значение, как я хочу?

...