PHP蜘蛛爬虫开发文档

PHP蜘蛛爬虫开发文档

《我用爬虫一天时间“偷了”知乎一百万用户,只为证明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();来配置并启动爬虫.

运行界面如下:

PHP蜘蛛爬虫开发文档

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


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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112625.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • asp.net dropdownlist的值怎么设置_redis skiplist

    asp.net dropdownlist的值怎么设置_redis skiplistList productlist = ProductAdapter.Instance.GetList();dlproductname.DataSource = productlist;dlproductname.DataTextField = “ProductName”;dlproductname.DataValueField = “id”;dlproduc

    2022年10月8日
    3
  • 分布式缓冲之memcache

    1.memcache简介memcache是danga.com的一个项目,它是一款开源的高性能的分布式内存对象缓存系统,,最早是给LiveJournal提供服务的,后来逐渐被越来越多的大型网站所采用

    2021年12月28日
    47
  • word在试图打开文件时遇到错误,检查稳定或驱动器文件权限

    word在试图打开文件时遇到错误,检查稳定或驱动器文件权限查网上说属性—解除锁定,就好了我看很多人也是这问题,这种方案就可以解决。但我的是根本就没有“解除锁定”这一选项。我用的是2013版的word,但可以用office2010打开(我电脑上安装了两个office版本)。而且在其它电脑上office2013可以打开。我的解决方案是用office2010打开后把昨天写的部分删除,发现用office2013可以打开了。然后再从201…

    2022年5月10日
    99
  • php用空格分隔字符串,分割字符串空格[通俗易懂]

    php用空格分隔字符串,分割字符串空格[通俗易懂]【java易错点】javasplit分割字符串空格问题解析Strings=”@123.com”;String[]data=s.split(“@”);//以@分割字符串,获得@后的值。运行结果如下data[0]:””;data[1]:123.com;此时,你会发现,data数组里面存储的第一个元素是一个空格…文章落雨_2012-02-14832浏览量python…

    2025年6月1日
    2
  • performClick()方法的使用「建议收藏」

    performClick()方法的使用「建议收藏」1.performClick()方法的作用:   performClick()方法是使用代码主动去调用控件的点击事件(模拟人手去触摸控件)2. 使用注意事项: 如果同时使用了view.setOnTouchListener()方法,则有可能存在拦截view.performClick()的响应事件, 因为当view.OnTouchEvent()在event.getAc

    2022年7月13日
    35
  • 协方差公式推导_二维正态分布cov协方差公式

    协方差公式推导_二维正态分布cov协方差公式协方差公式推导cov(X,Y)=∑ni=1(Xi−X¯)(Yi−Y¯)n=E[(X−E[X])(Y−E[Y])]cov(X,Y)=\frac{\sum_{i=1}^{n}(X_i-\bar{X})(Y_i-\bar{Y})}{n}=E[(X-E[X])(Y-E[Y])]=E[XY−E[X]Y−XE[Y]+E[X]E[Y]]=E[XY-E[X]Y-XE[Y]+E[X]E[Y]]因为均值

    2025年8月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号