✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Tapaustutkimus: käytä PHPQueryä indeksoimaan 3000 Tumblr-kuvia

16

Tumblrissa on hyviä kuvia. Voimme käyttää Tumblr-sovellusliittymiä kuvien etsimiseen ja lataamiseen, mutta tämä vaatii yleensä rekisteröinnin ja API-avaimia. Toinen tapa on indeksoida HTML-verkkosivut ja jäsentää DOM (Document Object Model), jonka avulla voimme hakea kuvien URL-osoitteet ja niiden kuvaukset.

On kätevä kirjasto, jota kutsutaan nimellä PHPQuery. Sen avulla voimme kirjoittaa JQuery-tyylistä PHP :tä samalla tavalla kuin kirjoitamme JQueryä käyttämällä CSS-valitsimia. Se tekee PHP:stä tehokkaan minkä tahansa HTML-sivun DOM:n analysoinnissa.

phpquery

Seuraava on psudo-koodi, joka havainnollistaa kuinka jäsentää HTML – sivuja ja napata kuvat.

PHPQueryn avulla DOM:n analysointi on paljon helpompaa! Napsauta Twiittaamaan

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

Pienellä muutoksilla voit antaa skriptin indeksoida useita tuhansia kuvia muutamassa minuutissa. Kaikki kuvat tallennetaan paikallisiin tietokantoihin VPS – palvelimella. Kuvat ovat nähtävissä osoitteessa: uploadbeta.com

On parempi asettaa aikaväli sivun indeksoinnin välillä, muuten IP-osoite voi olla estetty.

Tapaustutkimus: käytä PHPQueryä indeksoimaan 3000 Tumblr-kuvia

Kuvan indeksointi

PS, Image Upload -sivusto tukee muutamia sovellusliittymiä eri tarkoituksiin kohtuullisen käytön periaatteiden mukaisesti: https://uploadbeta.com/picture-gallery/faq.php#api

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja