„Ich habe einen Crawler verwendet, um an einem Tag eine Million Zhihu-Benutzer zu „stehlen“, nur um zu beweisen, dass PHP die beste Sprache der Welt ist.“
phpspider ist ein Crawler-Entwicklungsframework. Bei Verwendung dieses Frameworks müssen Sie die zugrunde liegende Technologieimplementierung des Crawlers nicht verstehen. Der Crawler wird von der Website blockiert und einige Websites erfordern zum Crawlen eine Anmelde- oder Bestätigungscodeerkennung. Mit nur wenigen Zeilen PHP-Code können Sie Ihren eigenen Crawler erstellen. Mithilfe der vom Framework gekapselten Multiprozess-Worker-Klassenbibliothek ist der Code einfacher und die Ausführungseffizienz ist höher und schneller.
Es gibt einige Crawling-Regeln für bestimmte Websites im Demo-Verzeichnis. Sofern Sie eine PHP-Umgebung installiert haben, kann der Code direkt auf der Befehlszeile ausgeführt werden. Entwickler, die sich für Crawler interessieren, können der QQ-Gruppe zur Diskussion beitreten: 147824717.
Nehmen wir als Beispiel die Encyclopedia of Embarrassing Stories, um zu sehen, wie unser Crawler aussieht:
$configs = array( 'name' => '糗事百科', 'domains' => array( 'qiushibaike.com', 'www.qiushibaike.com' ), 'scan_urls' => array( 'http://www.qiushibaike.com/' ), 'content_url_regexes' => array( "http://www.qiushibaike.com/article/d+" ), 'list_url_regexes' => array( "http://www.qiushibaike.com/8hr/page/d+?s=d+" ), 'fields' => array( array( // 抽取内容页的文章内容 'name' => "article_content", 'selector' => "//*[@id='single-next-link']", 'required' => true ), array( // 抽取内容页的文章作者 'name' => "article_author", 'selector' => "//div[contains(@class,'author')]//h2", 'required' => true ), ), ); $spider = new phpspider($configs); $spider->start();
Das Gesamtgerüst des Crawlers sieht folgendermaßen aus: Zuerst wird ein $configs-Array definiert, das einige Informationen über die zu crawlende Website festlegt. Anschließend wird es durch den Aufruf von $spider = new phpspider($configs);
konfiguriert $spider->start();
Starten Sie den Crawler.
Weitere Informationen finden Sie unter:
Entwicklungsdokumentation