十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用PHP自带函数就可以实现,首先要过去对方的网页信息,用
盈江ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
file_get_contents();参数是对方的URL地址,这个函数返回是一个字符串你想要的东西就在这个字符串中了
接下来就可以针对这个字符串做处理了,说下思路,正如你这个问题想获取到航班号起飞时间,在这个网页中应该有很多相同的标签元素,它们都有共同点,用
用正则表达式preg_match();或者是
preg_match_all();这两个函数它们都返回一个数组,这个数组存的就是你要的航班号和起飞时间,那么相同信息的数组就会出现了,然后在对这个数组进行分析找到你要的某个值或全部的值
获取信息要用到的3个函数是:
file_get_contents();
preg_match();
preg_match_all();
实例化两条sql链接.例如 $wdb = mysql_connect('localhost','root','123456','a1');//负责写入的数据库$rdb = mysql_connect('192.168.xx.xx','root','123456','a2');//负责读的数据库这样就可以链接两个数据库了。
拿下面这段单独建个页面,改一下你的数据库名,表等信息试试。
table width="50%" border="0"
tr
tdID/td
tdID2/td
tdorder1/td
tdorder2/td
tdorder3/td
/tr
?php
//连接数据库
$conn=@ mysql_connect("服务器地址","用户名","密码") or die("连接数据库失败!");
mysql_select_db("数据库名",$conn) or die("连接数据库失败!");
mysql_query("set names 'GBK'");
//连接结束
//接收提交过来查询的ID
$id=$_POST["id"];
//查询数据库相关数据
$sql="select * from 数据表名 where ID2='".$id."' order by id desc";
$query=mysql_query($sql);
//循环输出
while($row=mysql_fetch_array($query)){
?
tr
td?php echo $row["ID"];?/td
td?php echo $row["ID2"];?/td
td?php echo $row["order1"];?/td
td?php echo $row["order2"];?/td
td?php echo $row["order3"];?/td
/tr
?php
}
?
/table
form name="form1" method="post" action=""
input type="text" name="id"
input type="submit" name="Submit" value="查询"
/form
给一个例子你看看吧.
if($pro_list_contents=@file_get_contents(''))
{
preg_match_all("/td width=\"50%\" valign=\"top\"(.*)td width=\"10\"img src=\"images\/spacer.gif\"/isU", $pro_list_contents, $pro_list_contents_ary);
for($i=0; $icount($pro_list_contents_ary[1]); $i++)
{
preg_match_all("/a href=\"(.*)\"img src=\"(.*)\".*span(.*)\/span/isU", $pro_list_contents_ary[1][$i], $url_img_price);
$url=addslashes($url_img_price[1][0]);
$img=str_replace(' ', '20%', trim(''.$url_img_price[2][0]));
$price=(float)str_replace('$', '', $url_img_price[3][0]);
preg_match_all("/a class=\"ml1\" href=\".*\"(.*)\/a/isU", $pro_list_contents_ary[1][$i], $proname_ary);
$proname=addslashes($proname_ary[1][0]);
include("inc/db_connections.php");
$rs=mysql_query("select * from pro where Url='$url' and CateId='{$cate_row['CateId']}'"); //是否已经采集了
if(mysql_num_rows($rs))
{
echo "跳过:{$url}br";
continue;
}
$basedir='/u_file/pro/img/'.date('H/');
$save_dir=Build_dir($basedir); //创建目录函数
$ext_name = GetFileExtName( $img ); //取得图片后辍名
$SaveName = date( 'mdHis' ) . rand( 10000, 99999 ) . '.' . $ext_name;
if( $get_file=@file_get_contents( $img ) )
{
$fp = @fopen( $save_dir . $SaveName, 'w' );
@fwrite( $fp, $get_file );
@fclose( $fp );
@chmod( $save_dir . $SaveName, 0777 );
@copy( $save_dir . $SaveName, $save_dir . 'small_'.$SaveName );
$imgpath=$basedir.'small_'.$SaveName;
}
else
{
$imgpath='';
}
if($pro_intro_contents=@file_get_contents($url))
{
preg_match_all("/\/h1(.*)\/td\/tr/isU", $pro_intro_contents, $pro_intro_contents_ary);
$p_contents=addslashes(str_replace('src="', 'src="', $pro_intro_contents_ary[1][0]));
$p_contents=SaveRemoteImg($p_contents, '/u_file/pro/intro/'.date('H/')); //把远程html代码里的图片保存到本地
}
$t=time();
mysql_query("insert into pro(CateId, ProName, PicPath_0, S_PicPath_0, Price_0, Contents, AddTime, Url) values('{$cate_row['CateId']}', '$proname', '$imgpath', '$img', '$price', '$p_contents', '$t', '$url')");
echo $url.$img.$cate."br\r\n";
}
}
这样的。假如你有很多的php页面,在开始学习的时候呢,如果你在每个页面都要连接数据库的话,可以每个页面都写一段连接数据库的代码,然后用mysql_close()关闭,这里说一下,这个数据库的连接,其实呢,它默认情况下是在我们这个脚本页面运行结束以后就自动关闭了,有的程序员不写这个关闭的函数,但是我们约定俗成的都是要写上这个关闭函数的,如果有多个页面,那么每个页面都要写,有资源的还要写上mysql_free_result()来释放资源。
学到后面也可以写一个mysql的类来封装这些方法,到时候只需要在每个页面调用一下就可以了,关闭连接最好写上。