+ -
当前位置:首页 → 问答吧 → 采集阿里巴巴-商家联系信息采集

采集阿里巴巴-商家联系信息采集

时间:2008-09-24

来源:互联网

[code]
<?php
/*
+--------------------------------------------------------------------------
|   ==================================================================
|   Author: Allen E-mail:[email protected] QQ:13963709
|   ==================================================================
+---------------------------------------------------------------------------
|   >Mission: Clawing Alibaba's data. 抓取阿里巴巴的数据
|   >Date: 2008-9-24
|   >Copyright: http://www.1234ren.com
|   >提供给广大php爱好者交流学习
|   >Top page:一级页面:http://list.china.alibaba.com/buyer/companylist/10446-p'.$page.'.html?province=%CB%C4%B4%A8   四川地区
|   >Inner page二级页面:http://china.alibaba.com/company/detail/contact/'.$v.'.html,  var $v 是公司的名称的拼音首写  公司联系信息页面
+---------------------------------------------------------------------------
*/

/* init.php 是加载了其他的类文件和系统的配置文件,比如数据库类等,config.php etc.这里注释掉,因为没有入库部分 */
//require_once('init.php');

set_time_limit(0);

$total = 1;  //这个是你需要抓取的一级页面数目

for($i = 1;$i <= $total;$i++){//从第一页开始
   $url = 'http://list.china.alibaba.com/buyer/companylist/10446-p'.$i.'.html?province=%CB%C4%B4%A8';
   $content = file_get_contents($url);
}

/*
分析了下阿里巴巴里面企业主页的特征
比如上海峰全包装机械有限公司:  http://fengquanpack.cn.alibaba.com/  等价于 http://china.alibaba.com/company/detail/fengquanpack.html
字符串'fengquanpack'成了关键性的东西
所以下面在一级页面中匹配出页面所有公司的这个关键字
*/
preg_match_all("/\/contact\/(.+)\.html/i",$content, $matches);

//print_r($matches);exit;

/* 获得联系信息 二级页面开始 */

foreach($matches[1] as $v){

  $contact_page='http://china.alibaba.com/company/detail/contact/'.$v.'.html';
  $contact_content = file_get_contents($contact_page);
  
  /* 获得公司名称 */
  preg_match('/<title>(.*?)<\/title>/is',$contact_content, $title_arr);
  $arr = explode('-',$title_arr[1]);
  $company_name = is_array($arr)?$arr[count($arr)-1]:$title_arr[1];
  $company_name = trim(str_replace('联系方式','',$company_name));
  
  /* 获得联系人电话 */
  preg_match('/电&nbsp;&nbsp;&nbsp;&nbsp;话:(.*?)<\/li>/is',$contact_content,$phone_arr);
  $phone = $phone_arr[1];
  
  /* 获得联系人移动电话 */
  preg_match('/移动电话: (.*?)<\/li>/is',$contact_content,$mphone_arr);
  $mphone = $mphone_arr[1];
  
  /* 获得联系地址 */
  preg_match('/地&nbsp;&nbsp;&nbsp;&nbsp;址: (.*?)<\/li>/is',$contact_content,$address_arr);
  $address = $address_arr[1];
  
  /* 获得邮编  */
  preg_match('/邮&nbsp;&nbsp;&nbsp;&nbsp;编: (.*?)<\/li>/is',$contact_content,$post_arr);
  $post = $post_arr[1];
  
  /* 获得公司主页  */
  preg_match('/公司主页:(.*?)<\/li>/is',$contact_content,$site_arr);
  $site = $site_arr[1];
  

  //入库或者写文件 importdata();
}
?>
[/code]好不容易,第一次发帖,其实我是phpchina的一个水鬼 ,呵呵

作者: xcyxl   发布时间: 2008-09-24

没意思,还以为是这种页面呢
http://detail.china.alibaba.com/ ... amp;verifycode=6711
。。。。

作者: qai41   发布时间: 2008-10-15

作者: ws00377531   发布时间: 2008-10-31

挺好的 正好去学习采集

作者: dxlhs3700   发布时间: 2008-10-31