Maison >développement back-end >Problème PHP >PHP peut-il être utilisé comme robot d'exploration ?
phpspider est un excellent robot d'exploration PHP
Pour écrire un robot d'exploration Web PHP, vous devez disposer des éléments suivants compétences :
Le robot est écrit en PHP (apprentissage recommandé : Tutoriel vidéo PHP)
L'extraction de données à partir de pages Web nécessite XPath (Tutoriel du sélecteur XPath)
Bien sûr, nous pouvons également utiliser des sélecteurs CSS (tutoriel de sélection CSS)
Les expressions régulières (tutoriel sur les expressions régulières) sont utilisées dans de nombreuses situations
Les outils de développement de Chrome sont des outils incroyables, beaucoup Les requêtes AJAX doivent être analysées
Remarque : Ce framework ne peut être exécuté que sous la ligne de commande, la ligne de commande, la ligne de commande, la ligne de commande, les choses importantes sont dites trois fois^_ ^
La démo écrite dans cet article consiste à explorer le site Web de l'éducation militaire
<?php require_once __DIR__ . '/../autoloader.php'; use phpspider\core\phpspider; /* Do NOT delete this comment */ /* 不要删除这段注释 */ $configs = array( 'name' => '军事', // 给你的爬虫起一个名字 'log_show' => false, // 是否显示日志 'tasknum' => 1, // 开启多少个进程爬取 // 数据库配置 'db_config' => array( 'host' => '127.0.0.1', 'port' => 3306, 'user' => 'root', 'pass' => 'root', 'name' => 'collection', ), // 数据库表,表需要已存在,collection库,test表 'export' => array( 'type' => 'db', 'table' => 'test', ), // 爬取的域名列表 'domains' => array( 'war.163.com' ), // 抓取的起点 'scan_urls' => array( 'http://war.163.com' ), // 列表页实例,你要爬取的列表,也就是分页 'list_url_regexes' => array( "http://war.163.com" ), // 内容页实例,文章的内容页 // \d+ 指的是变量,就是可变的参数 'content_url_regexes' => array( "http://war.163.com/photoview/4T8E0001/\d+", ), // 失败重新爬取次数 'max_try' => 5, // 爬取规则配置 'fields' => array( array( 'name' => "title", // 数据库字段名 'selector' => "//div[@class='headline']/h1", // 规则,表示:headline类里的h1标签 'required' => true, // 如果为空,整条数据丢弃 ), array( 'name' => "content", 'selector' => "//div[@class='overview']/p", 'required' => true, ), array( 'name' => "img", 'selector' => "//img[@class='firstPreload']", 'required' => true, ), ), ); $spider = new phpspider($configs); $spider->start();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!