PHP第一次采集小记

来源:互联网 发布:支付宝和淘宝什么关系 编辑:程序博客网 时间:2024/06/13 12:04

首先是基本的页面编码设置

header("Content-Type: text/html; charset=UTF-8");

链接数据库,为了把采集的数据存放起来避免反复采集

这个可以写成一个文件,以后调用,而不是像我这样每个文件里都写。

$mysql_server = "localhost";$mysql_username = "root";$mysql_password = "123";$mysql_database = "caiji";//建立数据库链接$conn = mysql_connect($mysql_server, $mysql_username, $mysql_password) or die("数据库链接错误");//选择某个数据库mysql_select_db($mysql_database, $conn);
//设置数据库链接编码mysql_query("set names 'utf-8'");
//.....这里是mysql语句
//关闭连接mysql_close($conn);

采集网页要用到 cURL

// 1. 初始化
$ch = curl_init();
//2.设置URL和相应的选项curl_setopt($ch, CURLOPT_URL, $str);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HEADER, 0);// 3. 执行并获取HTML文档内容$output = curl_exec($ch);//4. 释放curl句柄curl_close($ch);

说一下字符串存放数据库的时候如果字符创中有' ," ,之类的符号。那么就会引起错误。解决方法就是 :

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

然后就是页面运行问题:

//后台运行,永远不超时
ignore_user_abort(true); // 后台运行ignore_user_abort() 函数设置与客户机断开是否会终止脚本的执行。
set_time_limit(0); // 取消脚本运行时间的超时上限,set_time_limit — 设置脚本最大执行时间,默认值为30秒,如果设置为0(零),没有时间方面的限制。


正则完的数据带有html标签。这个函数帮你搞定

strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。




原创粉丝点击