Rumah >pembangunan bahagian belakang >tutorial php >Merangkak dan mencari seluruh domain dengan diffbot
Tutorial ini menunjukkan membina enjin carian SitePoint melampaui keupayaan WordPress menggunakan pengekstrakan data berstruktur DiffBot. Kami akan memanfaatkan API Diffbot untuk merangkak dan mencari, menggunakan persekitaran yang lebih baik untuk pembangunan.
Kelebihan utama:
pelaksanaan:
kami akan membuat enjin carian SitePoint dalam dua langkah:
Crawljob Diffbot:
Pasang klien:
Buatcomposer require swader/diffbot-php-client
job.php
mencipta crawljob, kelihatan dalam antara muka crawlbot diffbot. <code class="language-php">include 'vendor/autoload.php'; use Swader\Diffbot\Diffbot; $diffbot = new Diffbot('my_token'); // Replace 'my_token' with your Diffbot token $job = $diffbot->crawl('sp_search'); $job ->setSeeds(['https://www.sitepoint.com']) ->notify('your_email@example.com') // Replace with your email ->setMaxToCrawl(1000000) ->setMaxToProcess(1000000) ->setRepeat(1) ->setMaxRounds(0) ->setPageProcessPatterns(['']) ->setOnlyProcessIfNew(1) ->setUrlCrawlPatterns(['^http://www.sitepoint.com', '^https://www.sitepoint.com']) ->setApi($diffbot->createArticleAPI('crawl')->setMeta(true)->setDiscussion(false)); $job->call();</code>
php job.php
Mencari dengan API carian:
Gunakan API Carian untuk menanyakan data yang diindeks:
API Carian menyokong pertanyaan lanjutan (kata kunci, julat tarikh, bidang, pengendali boolean). Maklumat meta boleh diakses melalui
.
<code class="language-php">$search = $diffbot->search('author:"Bruno Skvorc"'); $search->setCol('sp_search'); $result = $search->call(); // Display results (example) echo '<table> <thead><tr> <td>Title</td> <td>Url</td> </tr></thead> <tbody>'; foreach ($search as $article) { echo '<tr> <td>' . $article->getTitle() . '</td> <td><a href="'%20.%20%24article->getResolvedPageUrl()%20.%20'">Link</a></td> </tr>'; } echo '</tbody> </table>';</code>
$search->call(true);
Diffbot menyediakan penyelesaian yang kuat untuk membuat enjin carian tersuai. Walaupun berpotensi mahal untuk individu, ia menawarkan manfaat yang signifikan untuk pasukan dan organisasi yang menguruskan laman web besar. Ingatlah untuk menghormati terma perkhidmatan laman web sebelum merangkak. Bahagian seterusnya akan memberi tumpuan kepada membina GUI enjin carian.
Soalan Lazim (Rephrased dan Disatukan):
Bahagian ini menjawab soalan umum mengenai merangkak, mengindeks, dan menggunakan DiffBot untuk pengekstrakan data berskala besar. Bahagian FAQ asal agak luas dan berulang -ulang; Versi pekat ini mengekalkan maklumat teras.
robots.txt
untuk menyekat akses. Atas ialah kandungan terperinci Merangkak dan mencari seluruh domain dengan diffbot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!