php用正则表达抓取网页中文章( PHP正则表达式的几种形式及典型形式介绍-苏州安嘉)
优采云 发布时间: 2022-01-18 14:19php用正则表达抓取网页中文章(
PHP正则表达式的几种形式及典型形式介绍-苏州安嘉)
PHP中如何利用正则爬取页面中的URL
更新时间:2016-08-09 08:47:55 发布者:daisy
从页面中抓取页面中的所有链接,当然,使用PHP正则表达式是最方便的方式。写正则表达式,首先要总结一下模式,那么页面中的链接会有多少种形式呢?让我们来看看。
前言
链接,也称为超链接,是从一个元素(文本、图像、视频等)到另一个元素(文本、图像、视频等)的链接。网页中的链接一般分为三种,一种是绝对URL超链接,即一个页面的完整路径;另一种是相对URL超链接,一般链接到同一个网站的其他页面;是页面内的超链接,通常链接到同一页面内的其他位置。
搞清楚链接的类型,就知道抓取链接主要有绝对URL超链接和相对URL超链接。要编写正确的正则表达式,我们必须了解我们要查找的对象的模式。
首先,绝对链接,也称为 URL(统一资源定位器),用于标识 Internet 上的唯一资源。URL的结构由三部分组成:协议、服务器名、路径和文件名。
协议是告诉浏览器如何处理要打开的文件的标识符,最常见的是http协议。本文只考虑 HTTP 协议。至于其他的https、ftp、mailto、telnet协议等,也可以根据需要添加。
服务器名是告诉浏览器如何到达服务器的方式,通常是域名或IP地址,有时还有端口号(默认为80)。在FTP协议中,还可以收录一个用户名和密码,本文不涉及)。经过考虑的。
路径和文件名,通常用 / 分隔,表示文件的路径和文件本身的名称。如果没有具体的文件名,则访问该文件夹中的默认文件(可以在服务器端设置)。
现在很清楚,爬网的绝对链接的典型形式可以概括为
每个部分可以使用的字符范围都有明确的规定。有关详细信息,请参阅 RFC1738。然后就可以写正则表达式了。
/(http|https):\/\/([\w\d\-_]+[\.\w\d\-_]+)[:\d+]?([\/]?[\w\/\.]+)/i
解释如下: