php抓取网页数据(有个检查的话,感觉既费时又无聊,所以我就想用采集)
优采云 发布时间: 2022-04-18 14:14php抓取网页数据(有个检查的话,感觉既费时又无聊,所以我就想用采集)
最近的一项任务要求我检查一些 网站,手动完成这一切感觉既费时又无聊。所以我只想使用 采集。思路其实很简单,先下载网站的源码采集,然后用正则表达式匹配匹配的链接,最后把标题和URL放入库中分析。因为我用的php最多,所以打算用php来做网页采集。
第一步是链接数据库,取出需要检查的网站和规律性。
数据库这里我用的是postgresql,数据库和表已经按要求建好了。因为默认配置环境是centos系统加上nginx、mysql和php,所以首先是配置环境。配置这里不讨论,下次再总结。环境配置好后,在php中使用pg_connect连接数据库。在这里,我连接了两个不同的数据库。
$conn_1=pg_connect("host=xxx.xxx.xxx.xxx port=5432 dbname=mydb1 user=postgres password=xxxxxx") ;
$conn_2=pg_connect("host=xxx.xxx.xxx.xxx port=5432 dbname=mydb2 user=postgres password=xxxxxx") ;
第二步,取出网页源代码,对源代码进行初步处理。
不同的网站编码格式不同,需要先将编码统一转换为utf-8,否则存储后会出现乱码。
<p>
//获取网页源码
//$url='http://www.szl724.com/?p=' ;
$str = file_get_contents($url);
//使用preg_match和正则表达式取出编码
$wcharset = preg_match("/