PHP蜘蛛爬虫开发文档

举报
lxw1844912514 发表于 2022/03/27 02:10:38 2022/03/27
【摘要】 《我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 》所使用的程序框架 编写PHP网络爬虫, 需要具备以下技能: 爬虫采用PHP编写 从网页中抽取数据需要用XPath 当然我们还可以使用CSS选择器 很多情况下都会用到正则表达式 Chrome的开发者工具是神器, 很多AJAX请求需要用它来...

《我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 》所使用的程序框架

编写PHP网络爬虫, 需要具备以下技能:

  • 爬虫采用PHP编写

  • 从网页中抽取数据需要用XPath

  • 当然我们还可以使用CSS选择器

  • 很多情况下都会用到正则表达式

  • Chrome的开发者工具是神器, 很多AJAX请求需要用它来分析

注意:本框架只能在命令行下运行,命令行、命令行、命令行,重要的事情说三遍 ^_^

第一个demo

爬虫采用PHP编写, 下面以糗事百科为例, 来看一下我们的爬虫长什么样子:

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

爬虫的整体框架就是这样, 首先定义了一个$configs数组, 里面设置了待爬网站的一些信息, 然后通过调用$spider = new phpspider($configs);和$spider->start();来配置并启动爬虫.

运行界面如下:

$configs对象如何定义, 后面会作详细介绍.^_^


官方下载地址:https://github.com/owner888/phpspider

官方开发手册:https://doc.phpspider.org/

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100028246

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。