✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Studium przypadku: użyj PHPQuery do przeszukania 3000 obrazów z Tumblr

24

Na Tumblrze jest kilka fajnych obrazków. Możemy używać interfejsów API Tumblr do wyszukiwania i pobierania obrazów, jednak zwykle wymaga to rejestracji i kluczy API. Innym sposobem jest indeksowanie stron internetowych HTML i parsowanie DOM (Document Object Model), który pozwala nam pobrać adresy URL obrazów i ich opisy.

Istnieje przydatna biblioteka o nazwie PHPQuery. Pozwala nam pisać PHP w stylu JQuery w taki sam sposób, w jaki piszemy JQuery, przy użyciu selektorów CSS. To sprawia, że ​​PHP jest potężnym narzędziem do analizy DOM dowolnych stron HTML.

phpquery

Poniżej znajduje się pseudokod, który ilustruje, jak analizować strony HTML i pobierać obrazy.

Dzięki PHPQuery analiza DOM staje się o wiele łatwiejsza! Kliknij, aby tweetować

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); 

Przy niewielkich modyfikacjach możesz pozwolić skryptowi przeszukiwać kilka tysięcy zdjęć w ciągu kilku minut. Wszystkie obrazy są zapisywane w lokalnych bazach danych na serwerze VPS. Zdjęcia można zobaczyć na: uploadbeta.com

Lepiej ustawić odstęp czasu między indeksowaniem strony, w przeciwnym razie adres IP może zostać zablokowany.

Studium przypadku: użyj PHPQuery do przeszukania 3000 obrazów z Tumblr

Indeksowanie obrazu

PS, witryna Image Upload obsługuje kilka interfejsów API do różnych celów podlegających polityce dozwolonego użytku: https://uploadbeta.com/picture-gallery/faq.php#api

Źródło nagrywania: helloacm.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów