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