php+phpquery简易爬虫抓取京东商品分类

简介:   这是一个简单的php加phpquery实现抓取京东商品分类页内容的简易爬虫。phpquery可以非常简单地帮助你抽取想要的html内容,phpquery和jquery非常类似,可以说是几乎一样;如果你有jquery的基础的话你可以迅速地上手。

  这是一个简单的php加phpquery实现抓取京东商品分类页内容的简易爬虫。phpquery可以非常简单地帮助你抽取想要的html内容,phpquery和jquery非常类似,可以说是几乎一样;如果你有jquery的基础的话你可以迅速地上手。

  1、下载phpquery并置于web根目录下的phpQuery文件夹

    phpquery下载:https://code.google.com/p/phpquery/downloads/list

    phpquery教程可在这里查看:https://code.google.com/p/phpquery/

  2、抓取程序

<?php
/*
 * Created on 2015-1-29
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
 
header("Content-type:text/html; charset=utf-8");
function getPage( $url )
{
  $cnt = file_get_contents($url);
  return mb_convert_encoding($cnt ,"UTF-8","GBK");
}
include 'phpQuery/phpQuery.php'; 
$url = 'http://www.jd.com/allSort.aspx';
$page = getPage($url);
//phpQuery::newDocumentHTML($page);
phpQuery::newDocumentFile($url);
$firstCate = pq('#allsort .m');
$id = 0;
foreach($firstCate as $first){
    $id ++;
    $topcate = pq($first)->find(".mt a");
    //echo "**************************" . $topcate->text() . "**************************************</br>";
    echo $id . "#";
    foreach($topcate as $top){
        echo pq($top)->text() . "#" . "< a href='" .pq($top)->attr("href") . "' target='_blank'>" . pq($top)->text() ."< /a>、";
    }
    echo "#0#1</br>";
    $companies = pq($first)->find(".mc dl");
    $parent_id = $id;
    foreach($companies as $company)
    {  
        $id++;
        $sparent_id = $id;
       echo "&nbsp;&nbsp;" . $id . "#" .pq($company)->find('dt')->text() . "#" .  "< a href='" . pq($company)->find('dt a')->attr("href") . "' target='_blank'>" . pq($company)->find('dt')->text() ."< /a>#" . $parent_id ."#2<br>"; 
       $cate = pq($company)->find('dd em a');
       foreach($cate as $detail) {
           $id++;
           echo "&nbsp;&nbsp;&nbsp;&nbsp;" .  $id . "#" .pq($detail)->text() . "#" . "< a href='". pq($detail)->attr("href") . "' target='_blank'>" . pq($detail)->text() ."< /a>#" . $sparent_id . "#3<br>"; 
       }
       
    }  
}


?>

  3、运行效果

  这样可以抓取京东商品分类的信息了。可以加上数据库,将数据保存在数据库中,这样可以更利于数据的保存和操作。虽然这里只是抓取京东商品的分类,如果延伸一下的话还可以抓取商品价格,好评差评等信息。这里就不一一细说了,具体问题具体解决,完全看需求。如果有需要的话还可以做成万能的,输入标签的xpath,然后得到具体的值;这纯属YY,有兴趣的可以网上找找资料,实现的方式应该也不少。

 

相关文章
|
2月前
|
数据采集 存储 JavaScript
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
本文旨在介绍如何利用PHP中的simple_html_dom库结合爬虫代理IP技术来高效采集和分析汽车之家网站的电动车参数。通过实际示例和详细说明,读者将了解如何实现数据分析和爬虫技术的结合应用,从而更好地理解和应用相关技术。
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
|
7月前
|
数据采集 定位技术 PHP
简单而高效:使用PHP爬虫从网易音乐获取音频的方法
网易音乐是一个流行的在线音乐平台,提供了海量的音乐资源和服务。如果你想从网易音乐下载音频文件,你可能会遇到一些困难,因为网易音乐对其音频资源进行了加密和防盗链的处理。本文将介绍一种使用PHP爬虫从网易音乐获取音频的方法,该方法简单而高效,只需几行代码就可以实现。
简单而高效:使用PHP爬虫从网易音乐获取音频的方法
|
10月前
|
移动开发 JavaScript 前端开发
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
148 0
|
10月前
|
JSON 前端开发 JavaScript
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
Echarts实战案例代码(15):月收入年龄分段等MYSQL分类统计PHP后台数据管理接口API数据的解决方案
136 0
|
12月前
|
数据采集 PHP Python
phpspider简单快速上手的php爬虫框架
phpspider简单快速上手的php爬虫框架
|
JavaScript PHP
phpQuery,php爬虫类库,像jQuery一样轻松采集内容
phpQuery,php爬虫类库,像jQuery一样轻松采集内容
177 0
|
开发框架 .NET PHP
zblog实现同分类上一篇、下一篇文章的方法(php版本)
zblog实现同分类上一篇、下一篇文章的方法(php版本)
135 0
|
Web App开发 数据采集 PHP
php 防止爬虫设置
php代码如图所示:
836 0