PHP+正则抓取淘宝装修市场设计师数据

目的

竞争对手分析,了解淘宝装修市场上线了多少无线模板设计师

步骤

  1. 找到目标页面

https://zxn.taobao.com/wei_template_list.htm?p=1

https://zxn.taobao.com/wei_template_list.htm?p=870

  1. 取出html源文件
$html = file_get_contents("https://zxn.taobao.com/wei_template_list.htm?p=$i");
  1. 利用正则来解析html
    $start = "\/\/zxn.taobao.com\/designer_detail\.htm\?designerId=";
    $end = "\">";
    preg_match_all("/$start(\d+)$end/", $html, $matches);

取matches[1]得到设计师的id号

array(20) {
  [0]=>
  string(7) "1038354"
  [1]=>
  string(7) "1029480"
  [2]=>
  string(7) "1036438"
  [3]=>
  string(5) "14040"
  ...
  [18]=>
  string(7) "1033337"
  [19]=>
  string(5) "75477"
}
  1. 遍历分页迭加得所有的设计id号数组

4.1 先声明一个空数组用来不加的merge用

$designer_id_array = [];

4.2 然后在循环体中合并数组

for ($i = 1; $i <= $page ; $i++) {
    $designer_id_array = array_merge($designer_id_array, $matches[1]);
}

4.3 让$page=2验证结果


array(40) {
  [0]=>
  string(7) "1038354"
  [1]=>
  string(7) "1029480"
  [2]=>
  string(7) "1036438"
  [39]=>
  string(5) "40890"
}

  1. 对数组元素去重复
array_unique($designer_id_array)
  1. sizeof()求数组长度

echo '无线设计师人数为:' . sizeof($designer_id_array);

大功告成

代码没多讲究,只为实现我自己要的功能。

下载地址:https://git.oschina.net/laeser/spider

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,742评论 25 709
  • 每个人对待生活都有憧憬 愿春日的杏花雨少些落英 愿夏季的芙蓉花永远娴静 我的时光里没有秋风萧瑟 即使寒冬,也能逢着...
    月圆天心阅读 1,432评论 0 2
  • 不知道为什么一直都有考研的念头,当初因为高考考的不好,也因为没有复读的想法,就随便报了个学校和专业,慢慢读着书...
    离年小树君阅读 1,490评论 0 0
  • 1.应用安装涉及的知识点 所谓apk的安装其实就是将外部文件的apk文件复制到sysytem相关的内部文件中并进行...
    木子福阅读 7,622评论 1 3

友情链接更多精彩内容