php正则函数抓取网页连接(PHP怎样用正则抓取页面中的网址的相关内容吗)
优采云 发布时间: 2021-11-09 19:05php正则函数抓取网页连接(PHP怎样用正则抓取页面中的网址的相关内容吗)
想知道PHP如何使用正则抓取页面中URL的相关内容吗?在这篇文章中,我将为大家讲解PHP使用正则抓取页面中的URL的相关知识以及一些代码示例。欢迎阅读和纠正我们。fetch, php, 页面抓取, php, 抓取页面指定内容一起来学习
前言
链接是从一个元素(文本、图片、视频等)链接到另一个元素(文本、图片、视频等)的超链接。通常,一个网页中有三种链接。一种是绝对URL超链接,即一个页面的完整性。小路; 另一种是相对URL超链接,一般链接到同一网站的其他页面;另一种是页面内的超链接,一般链接到同一页面内的其他位置
如果你知道链接的类型,你就知道要抓取的主要链接是绝对 URL 超链接和相对 URL 超链接。要编写正确的正则表达式,您必须了解我们正在寻找的对象的模式。
先说绝对链接,也叫URL(Uniform Resource Locator),它标识了互联网上唯一的资源URL。URL 的结构由三部分组成:协议、服务器名、路径和文件名。
该协议告诉浏览器如何处理要打开的文件的标识。最常见的是http协议。本文仅考虑 HTTP 协议。至于其他的https、ftp、mailto、telnet协议等,也可以根据需要自行添加。
服务器名称是告诉浏览器如何到达该服务器的方式。通常是域名或IP地址,有时也收录端口号(默认为80) FTP协议也可以收录用户名和密码。本文不考虑。
路径和文件名一般用/分隔来表示文件的路径和文件本身的名称。如果没有具体的文件名,访问这个文件夹下的默认文件(可以在服务器端设置)
所以现在很明显,要爬取的绝对链接的典型形式可以概括为
每个部分可以使用的字符范围都有明确的说明,具体可以参考RFC1738,然后就可以写正则表达式了。
/(http|https):\/\/([\w\d\-_]+[\.\w\d\-_]+)[:\d+]?([\/]?[\w\/\.]+)/i
解释如下: