「本创」PHP实战-猎取指定网站的内容

2022-11-16 15:28:16 作者:老子是仙女
导读:「原创」PHP实战-获取指定网站的内容,数据采集采集原理分析数据采集是指获取指定网站的内容(比如小说的标题、简介、作者、图片等信息),之后将其存入数据库中,采集步骤如下...
PHP价格,价格查询,PHP怎么样 60 90元的商品 51比购返利网PHP比价

数据收罗

收罗道理阐发

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

第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*/Uxoooobc

正则相干函数

· 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实现图片下载

cURL

1. 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函数提交恳求

Web安全 SSRF实战
精彩图集