PHP Очистка изображений из Bing с помощью библиотеки Panther. Показ chrome Порт 9515 уже используется. - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь удалить изображения из RSS-канала, пропустив первые 3 слова, которые я ищу на bing для изображений, и пытаюсь удалить изображения. Мой код работает, но я всегда получаю сообщение об ошибке, что порт 9515 уже используется. Я уже добавил код, чтобы убить порт, но он не работает, пожалуйста, помогите мне. Я использовал ссылку из этого URL для создания своего кода https://www.thoughtfulcode.com/php-web-scraping/. / Пожалуйста, помогите мне.

Код

 include ('vendor/autoload.php');

 error_reporting(E_ERROR | E_PARSE);

 $url="https://timesofindia.indiatimes.com/rssfeedstopstories.cms";
 $xml = simplexml_load_file($url);
 $array = json_decode(json_encode($xml), true);
 $description=array();
 $i_size=sizeof($array['channel']['item'])-1;
 for($i=0;$i<sizeof($array['channel']['item']);$i++){
      $title=$array['channel']['item'][$i]['title'];
      $keyword_array=explode(" ",$title);
      $keyword=$keyword_array[0].' '.$keyword_array[1].' '.$keyword_array[2];
      download_feed_image($keyword);
      if($i_size==$i){
       echo "done";
    }
 }


    function download_feed_image($keyword){
       try {
          $client = \Symfony\Component\Panther\Client::createChromeClient();
          $crawler = $client->request('GET', 'https://www.bing.com/images/search?q='.$keyword.'&form=HDRSC2&first=1&cw=1349&ch=657');
          $fullPageHtml = $crawler->html();
          $pageH1 = $crawler->filter('.iusc')->attr('href');
          $img_tag=null;
          parse_str($pageH1,$img_tag);
          $file_name = basename($img_tag['mediaurl']);
          file_put_contents( $file_name,file_get_contents($img_tag['mediaurl']));
        } catch (Exception $e) {
            echo $e->getMessage();
        } finally {
            $client->quit();
        }
        exec("kill -9 $(lsof -t -i:9515)");
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...