<?php
/*
功能 www.china-designer/会员信息数据抓取程序
时间 :2010-6-26 17:15:58
作者 :李陈鑫
备注 : 1、所有目录后面都要加“/”;2、变量名里面的“关键词”用“_”隔开;3、尽量减少程序的耦合度
*/
ini_set('memory_limit', '-1');//不加限制,不过要小心使用 设置php内存使用限制 "-1" 时为不加限制
ini_set('max_execution_time',30*60*60*60);//设置程序最大运行时间、默认为60秒
include("includes/ugs.class.php");
//include("includes/mysql.class.php");//引入数据库类
/
/include("includes/pinyin.php");//将汉字转换成拼音
//$db = new mysql("localhost","root","111111","52zsj");//初始化数据库类
//www.251999/会员产品
define("HOST","www.251999/");////www.i3dmo/ ///www.china-designer/ ///www.57zfw/
define("PATTERN",2);//抓取模式,1、为写缓存!2、为存数据库+写缓存3、3写缓存 + 读数据库抓图片
define('LOG_PATH', "error/".HOST.'/');//日志所在目录
define('TEMP','temp/');//临时存储目录
define('CACHE',TEMP."cache/".HOST);//缓存所在目录
//define('LOGO_IMG','images/logo_img/');//会员头像保存文件夹
define('PRO_IMG','images/product/');//会员头像保存文件夹
makeDirs(LOG_PATH);//建立日志目录
makeDirs(CACHE);//建立缓存目录
//makeDirs(LOGO_IMG);//创建图片存储目录
makeDirs(PRO_IMG);//创建图片存储目录
$is_show_msg = true;
$goods_num=0;
//抓取会员信息
echo "关闭数据抓取";exit;
//main();//抓取会员信息的主控程序
//抓取资源模块信息www.i3dmo/
//getresources_3d();
//getresources_cad();
/
/getresources_pic();
//*****************************************************************************//
//抓取招标信息www.57zfw/zbmore.aspx
//gettender();
//*****************************************************************************//
//抓取招标信息的主控程序
function gettender(){
$min=1;//最小页数
$max=1;//最大页数10页
$m_list_page_url = array();
showMsg("开始到招标信息所有分页的链接");
/
*for($i=$max ; $i>=$min;$i--){
$m_list_page_url[] = "www.57zfw/zbmore.aspx?page=".$i;
}*/
for($i=$max ; $i>=$min;$i--){
$m_list_page_url[] = "www.57zfw/zbmore.aspx?page=".$i;
}
showMsg("开始招标信息的详细信息的链接");
foreach($m_list_page_url as $url){
echo $url.".................................................<br/>";
$info_url = get_info_url($url);
foreach($info_url as $t_url){
$tender_info = get_tender_info("www.57zfw/".$t_url);
showMsg("开始添加到数据库");
$id=insert_tender($tender_info);
if($id>0){
showMsg("保存数据完成...................................");
}
else{
showErrMsg("保存失败,失败可能是已经入库或者保存数据库失败!");
continue;
}
}
/
/break;
}
}
//保存招标信息到数据库
function insert_tender($tender_info){
global $db;
if(($db->getOne("select Tenderid from Tender where TenderName='".trim($tender_info[0])."'"))){
showErrMsg("此招标信息 ".trim($tender_info[0])." ;已经入库");
return 0;
}
else{
$data=array(
'TenderName'=>trim($tender_info[0]),//招标人姓名
'TenderType'=>trim($tender_info[9]),//服务模式
'TenderType1'=>trim($tender_info[6]),//装修户型
'TenderArea'=>trim($tender_info[3]),//装修面积
'Tendermoney'=>trim($tender_info[7]),//预算价格
'TenderFloor'=>trim($tender_info[8]),//房屋用途
'starttime'=>trim($tender_info[5]),//交房时间
'Tendertell'=>'136********',
'Tenderqq'=>'932133186',
'Tenderadss'=>'重庆',
'Tendercount'=>'暂无详细说明',//详细说明
'endtime'=>trim($tender_info[11]),//装修风格
'ctime'=>trim($tender_info[12])//发布时间
);
print_r($data);
$db->Add('tender',$data);
return $db->insert_id();
}
return 0;
}
//查详细页面的信息
function get_tender_info($url){
echo $url."<br/>";
$ugs = get_page_ugs($url);
$ugs->noReturn();
$ugs->cut('<div class="main620t">','<div id="newspagecode">');
$content = $ugs->value_;
//echo $content;exit;
preg_match_all('/<dd>(.*?)<\/dd>/is',$content,$reg);
//print_r($reg);exit;
return $reg[1];
}
/
/查到每一页的详细信息的链接
function get_info_url($url){
echo $url."<br/>";
$ugs = get_page_ugs($url);
$ugs->noReturn();
$ugs->cut('<div class="main620t">','<div id="newspagecode">');
$content = $ugs->value_;
//$content = iconv("gb2312","UTF-8",$content);
//echo $content;
//preg_match_all('/<a class=\"f13zb\" target=\"_blank\" href=\"(.*?)\" title=\"(.*?)\">(.*?)<\/a>/is',$content,$reg);//
preg_match_all('/<a\s.*?title=\"(.*?)\"\s.*?href=\"(.*?)\".*?/is',$content,$reg);
//print_r($reg[2]);exit;
return $reg[2];
}
//*****************************************************************************//
//抓取3d模块文件的主控程序
function getresources_3d(){/////////www.i3dmo/cadsc.asp cad 1页 页面 www.i3dmo/3Dtietu.asp 3d贴图页面 28页
//www.i3dmo/3Dmoban.asp 3d模型 页面 71页
php文件下载源码$min=2;//最小页数
$max=2;//最大页数1213页
$m_list_page_url = array();
showMsg("开始收索3d模块分页信息");
for($i=$min ; $i<=$max;$i++ ){
$m_list_page_url[] = "www.i3dmo/3dmoban.asp?page=".$i."&fla=&flb=&id=";
}
showMsg("开始抓取每页的所有模块的链接");
foreach($m_list_page_url as $url){
$page_info_url = getresources_infourl($url);//取得每个模块的url数组
//print_r($page_info_url);
foreach($page_info_url[1] as $purl){
$ID=explode('=',$purl);
$IdArray[]=$ID[1];//处理链接得到 ID 号
echo $ID[1].'--';
}
//$IdArray;
$PicAr
ray=$page_info_url[2];//得到 图片地址
$TxtArray=$page_info_url[3];//得到 名称
//print_r($page_info_url);
showMsg("开始抓取每个为对应的内容存入数据库");
foreach($IdArray as $key=>$val){
showMsg("开始下载ID为 ".$val." ;的资源模块..................");
$adss="www.i3dmo/3d_downto.asp?id=".$val;
get_file($adss,$val.'.rar');//下载文件
$adss_mo='localhost/52zsj/getdata/images/resources/'.$val.'.rar';
showMsg("资源文件下载成功.........");
showMsg("开始下载图片.........");
$ext=strrchr($PicArray[$key],".");
$filename=get_original_image('www.i3dmo/'.$PicArray[$key],'images/resources/'.$val.'_pic'.$ext);//下载网上图片保存到本地
showMsg("图片下载成功.........开始保存数据库");
global $db;
if(($db->getOne("select resourcesid from resources where resourcesid='".$val."'"))){
showErrMsg("此资源模块已经入库");
continue;//继续执行下一次循环
}
else{
$db->Add('resources',array('resourcesid'=>$val,'memberid'=>'1','resourcesname'=>$TxtArray[$key],'resourcestype'=>'3DMAX','resourcespic'=>'localhost/52zsj/getdata/'.$filename,'resourcesadss'=>$adss_mo,'ctime'=>date('Y-m-d')));
}
showMsg("保存数据库成功");
//break;
}
//print_r($TxtArray);
//get_file($adss_file,'images/resources',date('dMYHis'));
}
}
//抓取cad模块文件的主控程序
function getresources_cad(){/////////www.i3dmo/cadsc.asp cad 1页 页面 www.i3dmo/3Dtietu.asp 3d贴图页面 28页
//www.i3dmo/3Dmoban.asp 3d模型 页面 71页
$min=1;//最小页数
$max=1;//最大页数1213页
$m_list_page_url = array();
showMsg("开始收索3d模块分页信息");
for($i=$min ; $i<=$max;$i++ ){
$m_list_page_url[] = "www.i3dmo/cadsc.asp";
}
showMsg("开始抓取每页的所有模块的链接");
foreach($m_list_page_url as $url){
$page_info_url = getresources_infourl($url);//取得每个模块的url数组
//print_r($page_info_url);
foreach($page_info_url[1] as $purl){
$ID=explode('=',$purl);
$IdArray[]=$ID[1];//处理链接得到 ID 号
echo $ID[1].'--';
}
//$IdArray;
$PicArray=$page_info_url[2];//得到 图片地址
$TxtArray=$page_info_url[3];//得到 名称
/
/print_r($page_info_url);
showMsg("开始抓取每个为对应的内容存入数据库");
foreach($IdArray as $key=>$val){
showMsg("开始下载ID为 ".$val." ;的资源模块..................");
$adss="www.i3dmo/3d_downto.asp?id=".$val;
get_file($adss,$val.'.rar');//下载文件
$adss_mo='localhost/52zsj/getdata/images/resources/'.$val.'_pic.rar';
showMsg("资源文件下载成功.........");
showMsg("开始下载图片.........");
$ext=strrchr($Pic
Array[$key],".");
$filename=get_original_image('www.i3dmo/'.$PicArray[$key],'images/resources/'.$val.'_pic'.$ext);//下载网上图片保存到本地
showMsg("图片下载成功.........开始保存数据库");
global $db;
if(($db->getOne("select resourcesid from resources where resourcesid='".$val."'"))){
showErrMsg("此资源模块已经入库");
continue;//继续执行下一次循环
}
else{
$db->Add('resources',array('resourcesid'=>$val,'memberid'=>'1','resourcesname'=>$TxtArray[$key],'resourcestype'=>'CAD','resourcespic'=>'localhost/52zsj/getdata/'.$filename,'resourcesadss'=>$adss_mo,'ctime'=>date('Y-m-d')));
}
showMsg("保存数据库成功");
//break;
}
//print_r($TxtArray);
//get_file($adss_file,'images/resources',date('dMYHis'));
}
}
//抓取材质图片模块文件的主控程序
function getresources_pic(){/////////www.i3dmo/cadsc.asp cad 1页 页面 www.i3dmo/3Dtietu.asp 3d贴图页面 28页
//www.i3dmo/3Dmoban.asp 3d模型 页面 71页
$min=20;//最小页数
$max=20;//最大页数28页
$m_list_page_url = array();
showMsg("开始收索3d模块分页信息");
for($i=$min ; $i<=$max;$i++ ){
$m_list_page_url[] = "www.i3dmo/3Dtietu.asp?page=".$i."&fla=&flb=&id=";
}
showMsg("开始抓取每页的所有模块的链接");
foreach($m_list_page_url as $url){
$page_info_url = getresources_infourl($url);//取得每个模块的url数组
//print_r($page_info_url);
foreach($page_info_url[1] as $purl){
$ID=explode('=',$purl);
$IdArray[]=$ID[1];//处理链接得到 ID 号
echo $ID[1].'--';
}
//$IdArray;
$PicArray=$page_info_url[2];//得到 图片地址
$TxtArray=$page_info_url[3];//得到 名称
//print_r($page_info_url);
showMsg("开始抓取每个为对应的内容存入数据库");
foreach($IdArray as $key=>$val){
showMsg("开始下载ID为 ".$val." ;的资源模块..................");
$adss="www.i3dmo/3d_downto.asp?id=".$val;
//get_file($adss,$val.'.rar');//下载文件
$adss_mo='localhost/52zsj/getdata/images/resources/'.$val.'.rar';
showMsg("资源文件下载成功.........");
showMsg("开始下载图片.........");
$ext=strrchr($PicArray[$key],".");
$filename=get_original_image('www.i3dmo/'.$PicArray[$key],'images/resources/'.$val.'_pic'.$ext);//下载网上图片保存到本地
showMsg("图片下载成功.........开始保存数据库");
global $db;
if(($db->getOne("select resourcesid from resources where resourcesid='".$val."'"))){
showErrMsg("此资源模块已经入库");
continue;//继续执行下一次循环
}
else{
$db->Add('resources',array('resourcesid'=>$val,'memberid'=>'1','resourcesname'=>$TxtArray[$key],'resourcestype'=>'PIC','resourcespic'=>'localhost/52zsj/getd
ata/'.$filename,'resourcesadss'=>'localhost/52zsj/getdata/'.$filename,'ctime'=>date('Y-m-d')));
}
showMsg("保存数据库成功");
//break;
}
//print_r($TxtArray);
//get_file($adss_file,'images/resources',date('dMYHis'));
}
}
//取得每个页面获取的信息
function get_resources_info($url){
//$content=file_get_contents($url);
$ugs = get_page_ugs($url);
$ugs->noReturn();
$ugs->cut('<td height="200" align="center" bgcolor="#1E1E1E">','</td>');
$content = $ugs->value_;
$content = iconv("GB2312","UTF-8",$content);
/
/echo $content;
preg_match_all("/<a href=\"(.*?)\"/i",$content,$reg);//获取下载地址
//print_r($reg[1][0]);
$com=file_get_contents("www.3dxia".$reg[1][0]);
//echo $com;
return $reg[1][0];
//exit;
}
//取得每页的每个模块的链接
function getresources_infourl($url){
$ugs = get_page_ugs($url);
$ugs->noReturn();
$ugs->cut('<table width="700" border="0" cellpadding="0" cellspacing="0">','<br/>');
$content = $ugs->value_;
$content = iconv("gb2312","UTF-8",$content);
//echo $content;exit;
preg_match_all('/<a href=\"(.*?)\"><img src=\"(.*?)\" alt=\"(.*?)\" width=\"176\" height=\"113\" border=\"0\" \/><\/a>/is',$content,$reg);
unset($reg[0]);
//print_r($reg);exit;
return $reg;
}
//*****************************************************************************//
function main(){
$min=17;//最小页数
$max=17;//最大页数
$m_list_page_url = array();
for($i=$min ; $i<=$max;$i++ ){
$m_list_page_url[] = "www.china-designer/ezx/new_designer_s/?keywords=&mainbest=0&designerclassid=-1&location=4&sel_city=0&job=2&charges=0&PageSize=12&vType=2&birthday1=0&birthday2=0&AccountID=&PageNO=".$i;
}
//得到重庆会员的家园编号
$home_id_arr = array();
showMsg("开始抓取 $min ;页到 $max ;页的所有会员编号",true);
foreach($m_list_page_url as $url){
$home_id_arr = array_merge($home_id_arr,get_home_id($url));
}
showMsg('会员编号抓取完毕.............................');
//获取单个设计师
//$home_id_arr=array(203145);
//进入读取会员编号的会员信息页面
$m_info_list = array();
foreach($home_id_arr as $id){
$url_member = "www.china-designer/home/".$id."_1_1.htm";
$url_proarea = "www.china-designer/home/".$id."_2.htm";//设计师作品
$url_news = "www.china-designer/home/".$id."_4.htm";//设计师文章
showMsg('<font >开始抓取会员编号为'.$id.'的会员资料信息</font>');
$m_info_list = get_m_info($url_member);//获取会员信息编号
//print_r($m_info_list);exit;
$memberid=insert_member($m_info_list);//添加到数据库去或者是已经插入啦的取得会员ID号
showMsg("<font style='font-size:20px;color:red'>插入数据库的会员ID为:".$memberid."</font>");
//die($m
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论