php 爬虫抓取网页数据(最常用的php解析html的方法:基于html解析库)
优采云 发布时间: 2021-12-08 17:10php 爬虫抓取网页数据(最常用的php解析html的方法:基于html解析库)
php爬虫抓取网页数据并合成html。最后将获得的html字符串交给服务器解析,再将解析后的html转换成json格式的数据。php自带html解析库,在后端也可以使用第三方库解析html。使用第三方库时要注意,php的html解析库并不全面。有的第三方库兼容性不好。下面介绍最常用的php解析html的方法:基于path_regex的方法:使用path_regex库来解析html的字符串,具体用法可以参考它的文档。
总结一下它的思想是以字符串来建立目录树,把要爬取的网页文件放在目录树的根目录下(根目录的意思就是包含所有网页链接的目录),在目录树的最后面依次找到指定网页链接,把那个链接的html文件夹传递给php解析。也就是说,爬取一个网页文件,并不直接获取其中的文字,而是在每一个html文件中依次建立起一个目录树,在每一个html文件中都包含了它所对应的网页文件。(。
1)先到path_regex的文档去看看,在解析网页字符串时,path_regex库会调用该库的对应类,例如path_regex_function(),它的函数原型是:path_regex_env_path_regex(path_to_html),将所要解析的网页所在目录传递给path_regex。例如:path_regex_function()的函数原型为:path_regex_if_exist_or_exists(path_to_source,path_to_html)path_regex_function的对应类为:path_regex_functionpath_regex_to_html的对应类为:path_regex_to_html(。
2)使用path_regex库的第一个函数,称为path_regex_if_exist_or_exists(path_to_source,path_to_html)方法:定义要解析的链接类型path_regex_if_exists方法定义要解析的文件类型,这里的文件类型指的是网页网址。它会依次查找以下四种文件类型:application/video、transport/flash、post/json、proxy/filestream,返回true或false:解析从网页所在目录下查找的文件如果没有发现所需要的文件,那么所有的文件就不会被解析。
path_regex_exists()的定义:定义解析出来的文件,所在目录是否存在,如果存在返回false,否则返回true。path_regex_filestream包含所有的网页。函数语法格式如下:path_regex_if_exist_or_exists(path_to_source,path_to_html)其中path_to_source,path_to_html分别指定要解析的链接类型,也就是上面说的“目录树”。如果目录树都没有发现相应的文件,那么就抛出错误。(。
3)在定义完“要解析