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

简介:

 这是一个简单的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,有兴趣的可以网上找找资料,实现的方式应该也不少。






本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4592181.html,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
数据采集 存储 前端开发
动态渲染爬虫:Selenium抓取京东关键字搜索结果
动态渲染爬虫:Selenium抓取京东关键字搜索结果
|
2月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践
|
2月前
|
数据采集 存储 JSON
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
|
5月前
|
数据采集 Web App开发 JavaScript
基于Selenium的Python爬虫抓取动态App图片
基于Selenium的Python爬虫抓取动态App图片
350 68
|
2月前
|
数据采集 存储 XML
Python爬虫XPath实战:电商商品ID的精准抓取策略
Python爬虫XPath实战:电商商品ID的精准抓取策略
|
5月前
|
数据采集
Haskell编程中,利用HTTP爬虫实现IP抓取
以上就是利用Haskell编写IP抓取爬虫的详细步骤。希望这篇文章的演示对于理解在Haskell这种函数式编程语言中如何实现网络爬虫有所帮助,而其中的网络访问、标签解析和列表处理等技术在许多其他的问题中都有广泛的应用。
97 26
|
5月前
|
数据采集 存储 前端开发
Python爬虫自动化:批量抓取网页中的A链接
Python爬虫自动化:批量抓取网页中的A链接
|
5月前
|
数据采集 缓存 监控
如何提高爬虫的抓取效率
提高爬虫的抓取效率是爬虫开发中的一个重要目标。以下是一些可以提高爬虫抓取效率的方法和技巧: 1. 合理设置请求频率 避免过高频率:频繁的请求可能会对目标服务器造成过大压力,甚至导致被封禁。合理设置请求间隔时间,例如每次请求间隔几秒到几十秒。 动态调整频率:根据目标网站的响应时间动态调整请求频率。如果响应时间较长,适当降低请求频率;如果响应时间较短,可以适当提高请求频率。
156 6
|
6月前
|
数据采集 存储 缓存
Python爬虫与代理IP:高效抓取数据的实战指南
在数据驱动的时代,网络爬虫是获取信息的重要工具。本文详解如何用Python结合代理IP抓取数据:从基础概念(爬虫原理与代理作用)到环境搭建(核心库与代理选择),再到实战步骤(单线程、多线程及Scrapy框架应用)。同时探讨反爬策略、数据处理与存储,并强调伦理与法律边界。最后分享性能优化技巧,助您高效抓取公开数据,实现技术与伦理的平衡。
243 4
|
6月前
|
数据采集 搜索推荐 API
Python 原生爬虫教程:京东商品列表页面数据API
京东商品列表API是电商大数据分析的重要工具,支持开发者、商家和研究人员获取京东平台商品数据。通过关键词搜索、分类筛选、价格区间等条件,可返回多维度商品信息(如名称、价格、销量等),适用于市场调研与推荐系统开发。本文介绍其功能并提供Python请求示例。接口采用HTTP GET/POST方式,支持分页、排序等功能,满足多样化数据需求。

热门文章

最新文章