最新文章
「原创」PHP实战-获取指定网站的内容
2024-12-23 19:33

数据采集采集原理分析

数据采集是指获取指定网站的内容(比如小说的标题、简介、作者、图片等信息),之后将其存入数据库中,采集步骤如下:

第1步:获取指定网址的数据

http://www.qidian.com?id=1&articleid=6

获取数据可以使用如下函数:

(1) file_get_contents()函数

(2) fopen()函数、fread()函数

(3) curl()函数

(4) snoopy类

第2步:提取所需内容,使用preg_match_all()函数获取匹配的数据

使用正则表达式获取需要采集的特定内容,获取与表中字段对应的内容。

第3步:分类存储至数据库中(入库)

将上一面获取的数据存放数据表中。

第4步:从数据库中读取数据

第5步:展示读取出的数据

正则表达式

使用正则表达式可以匹配、检索字符串。

$reg='/^….$/';

$reg='#^….$#';

量词

· + 匹配任何至少包含一个前导字符串

· * 匹配任何包含零个或多个前导字符串

· ? 匹配任何包含零个或一个前导字符串

· . 匹配任意字符串

· {x} 匹配任何包含x 个的前导字符串 /y{3}/ yyy

· {x,y} 匹配任何包含x 到y 个前导字符串 /y{2,5}/

· {x,} 匹配任何包含至少x 个前导字符串 /y{2,}/

· $ 匹配字符串的行尾 /abc[0-9]$/

· ^ 匹配字符串的行首

· | 匹配字符串的左边或者右边(或)

· ()包围一个字符分组或定义个反引用,可以使用$1,$2 提取 ([0-9]{3}-[0-9]{8})+

.*可以匹配任意字符串(因为.匹配任意字符,*表示任意个)

元字符

· [a-z] 匹配任何包含小写字母a-z 的字符串

· [c-g] 匹配c,d,e,f,g [3-7]

· [A-Z] 匹配任何包含大写字母A-Z 的字符串

· [0-9] 匹配任何包含数字0-9 的字符串

· [bek] 匹配任何包含小写字母b、e、k的字符串,只要字符串中含有b、e、k中的任意一个就算匹配到 goo[bek]d

· [^bek] 只要有不含b、e、k的字符都能匹配

· [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9 和下划线的字符串

· w 匹配任何包含a-zA-Z0-9 和下划线的字符串(同上)

· W 匹配任何没有下划线和字母数字的字符串,和w相反

· d 匹配任何数字字符,和[0-9]相同

· D 匹配任何非数字字符,和[^0-9]相同

· s 匹配任何空白字符

· S 匹配任何非空白字符

· b 匹配是否到达了单词边界 /abcb/ helloabcgood

· B 匹配是否没有达到单词边界

· 匹配正则中的特殊字符

修饰符

语法:修饰符放在"/"的后面 /w/i

· i 完成不区分大小写的搜索

· m 在匹配首内容或者尾内容时候采用多行识别匹配

· x 忽略正则中的空白

· A 强制从头开始匹配

· U 禁止贪婪匹配只跟踪到最近的一个匹配符并结束 /xo*/U xoooobc

正则相关函数

· preg_match('/正则表达式/' , 要处理的字符串);

匹配到一次就终止继续匹配,返回1;

如果没有匹配到,就一直向后找,直到字符串的末尾,如果仍然没找到,返回0。

匹配邮箱

· preg_match_all('/正则表达式/',字符串,$arr)

preg_match_all()搜索字符串所有匹配的结果,将所有匹配到的字符串放到$arr数组中。

· preg_replace('/正则表达式/', '字符串', $str);

将$str中匹配正则规则的内容用指定字符串替换。

采集入库

采集网页中列表的标题和链接,获取后存入数据库。

Snoopy

snoopy类实现数据采集

output()函数的功能是格式化输出数组数据

fetch()方法

Fetchtext()、fetchlinks()、fetchform()方法

Snoopy实现表单提交和模拟登陆

Snoopy实现图片下载

cURL1. Client URL库

开启curl扩展

使用cURL完成请求的四步

第1步:初始化资源 $ch = curl_init();

第2步: 设置相关的参数 curl_setopt()

第3步: 发送请求 curl_exec($ch)

第4部:关闭资源 curl_close($ch);

封装cURL函数

封装POST请求

封装GET请求

POST请求与GET请求相结合

使用cURL函数提交请求

    以上就是本篇文章【「原创」PHP实战-获取指定网站的内容】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/quote/9215.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站http://ww.kub2b.com/mobile/,查看更多   
发表评论
0评