PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

时间:2022-09-06 16:40:25

本文实例讲述了PHPCrawl爬虫库实现抓取酷狗歌单的方法。分享给大家供大家参考,具体如下:

本人看了网络爬虫相关的视频后,手痒痒,想爬点什么。最近Facebook上表情包大战很激烈,就想着把所有表情包都爬下来,却一时没有找到合适的VPN,因此把酷狗最近一月精选歌曲和简单介绍抓取到本地。代码写得有点乱,自己不是很满意,并不想放上来丢人现眼。不过转念一想,这好歹是自己第一次爬虫,于是...就有了如下不堪入目的代码~~~(由于抓取的数据量较小,所以没有考虑多进程什么的,不过我看了一下PHPCrawl的文档,发现PHPCrawl库已经把我能想到的功能都封装好了,实现起来很方便)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
header("Content-type:text/html;charset=utf-8");
// It may take a whils to crawl a site ...
set_time_limit(10000);
include("libs/PHPCrawler.class.php");
class MyCrawler extends PHPCrawler {
  function handleDocumentInfo($DocInfo) {
    // Just detect linebreak for output ("\n" in CLI-mode, otherwise "<br>").
    if (PHP_SAPI == "cli") $lb = "\n";
    else $lb = "<br />";
    $url = $DocInfo->url;
    $pat = "/http:\/\/www\.kugou\.com\/yy\/special\/single\/\d+\.html/";
    if(preg_match($pat,$url) > 0){
    $this->parseSonglist($DocInfo);
    }
    flush();
  }
  public function parseSonglist($DocInfo){
    $content = $DocInfo->content;
    $songlistArr = array();
    $songlistArr['raw_url'] = $DocInfo->url;
    //解析歌曲介绍
    $matches = array();
    $pat = "/<span>名称:<\/span>([^(<br)]+)<br/";
    $ret = preg_match($pat,$content,$matches);
    if($ret>0){
      $songlistArr['title'] = $matches[1];
    }else{
      $songlistArr['title'] = '';
    }
    //解析歌曲
    $pat = "/<a id="codetool">

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

正则表达式在线测试工具:https://tool.zzvips.com/t/regex/

正则表达式在线生成工具:https://tool.zzvips.com/t/regcode/

希望本文所述对大家PHP程序设计有所帮助。

原文链接:http://blog.csdn.net/fff058/article/details/50574192

延伸 · 阅读

精彩推荐
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    php检测文本的编码

    这篇文章主要介绍了php检测文本的编码的相关资料,需要的朋友可以参考下...

    PHP教程网4782020-11-08
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    Yii2如何批量添加数据

    批量添加这个操作,在实际开发中经常用得到,今天小编抽空给大家整理些有关yii2批量添加的问题,感兴趣的朋友一起看看吧...

    白狼3692021-01-19
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    php传值赋值和传地址赋值用法实例分析

    这篇文章主要介绍了php传值赋值和传地址赋值用法,以实例形式较为详细的分析了php的常见赋值技巧,需要的朋友可以参考下...

    zhuzhao2262020-10-05
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    PHP错误提示的关闭方法详解

    关闭PHP错误脚本提示是程序上线了必须做的一件事情,就是不管程序怎么报错我们都不能让错误日志在服务器上给大家看到,下面我来总结两种关闭PHP错误...

    PHP教程网2442020-04-26
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    PHP类的封装与继承详解

    类是面向对象中的重要概念,而封装和继承是面向对象的重要特点。这篇文章我们就重点讨论一下封装、继承这两个特点,给出一些列子,供大家学习参考...

    PHP教程网2052020-11-23
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    JpGraph php柱状图使用介绍

    以前用PHP作图时必须要掌握复杂抽象的画图函数,或者借助一些网上下载的花柱形图、饼形图的类来实现。没有一个统一的chart类来实现图表的快速开发。...

    PHP教程网3772019-12-11
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    PHP 处理TXT文件(打开/关闭/检查/读取)

    php写入txt、php读取txt,在PHP处理TXT文件时经常会使用到,本文整理了一些相关代码,感兴趣的朋友可以参考下哈 ...

    PHP教程网2852020-03-25
  • PHP教程PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    PHP读取word文档的方法分析【基于COM组件】

    这篇文章主要介绍了PHP读取word文档的方法,较为详细的分析了COM组件的开启、属性设置及基于COM组件打开并读取word文档的操作技巧,需要的朋友可以参考下...

    pt17423958956002021-06-10