✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Приклад: використовуйте PHPQuery для сканування 3000 зображень із Tumblr

19

На Tumblr є кілька гарних зображень. Ми можемо використовувати Tumblr API для пошуку та завантаження зображень, однак зазвичай для цього потрібні ключі реєстрації та API. Іншим способом є сканування веб-сторінок HTML і аналіз DOM (об’єктної моделі документа), що дозволяє отримати URL-адреси зображень і їхні описи.

Існує зручна бібліотека, яка називається PHPQuery. Це дозволяє нам писати PHP у стилі JQuery так само, як ми пишемо JQuery, використовуючи селектори CSS. Це робить PHP потужним для аналізу DOM будь-яких HTML-сторінок.

phpquery

Нижче наведено псевдокод, який ілюструє, як аналізувати HTML – сторінки та захоплювати зображення.

З PHPQuery стає набагато простіше аналізувати DOM! Натисніть, щоб твітнути

require('phpQuery.php');
require('app.php');
 
$ip = get_ip_address();
 
function grab($url, $lvl = 5) {
  global $ip;
  if ($lvl < = 0) {
    return;
  }
  $doc = phpQuery::newDocumentFile($url);
  foreach(pq('div.TumbPostPane') as $p) {
      $img = pq($p)->find('img.PhotoPostMainPhoto')->attr('src');
      $desc = htmlspecialchars(trim(pq($p)->find('div.MetaPanel')->html()));
      $url = pq($p)->find('a')->attr('href');
      $err = '';
      if (UploadPic($img, $desc, $err, $ip)) { // find pictures and save locally
         echo "OK = $err n";
      } else {
         echo str_replace("<br />", "n", "Error = $err n");
      }     
      grab($url, $lvl - 1); // recursive download
  }
}
 
grab("<a class="vglnk" target="_blank" href="https://uploadbeta.com" rel="nofollow"><span>https</span><span>://</span><span>uploadbeta</span><span>.</span><span>com</span></a>", 1); 

З невеликими змінами ви можете дозволити сценарію сканувати кілька тисяч зображень за кілька хвилин. Усі зображення зберігаються в локальних базах даних на сервері VPS. Фотографії можна переглянути на: uploadbeta.com

Краще встановити проміжок часу між скануванням сторінки, інакше IP-адреса може бути заблокована.

Приклад: використовуйте PHPQuery для сканування 3000 зображень із Tumblr

Сканування зображень

PS, веб-сайт для завантаження зображень підтримує кілька API для різних цілей, що підпадають під дію політики добросовісного використання: https://uploadbeta.com/picture-gallery/faq.php#api

Джерело запису: helloacm.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі