php抓取网页指定内容(PHP怎样用正则抓取页面中的网址的相关内容吗)

优采云 发布时间: 2022-01-02 10:27

  php抓取网页指定内容(PHP怎样用正则抓取页面中的网址的相关内容吗)

  想知道PHP如何使用正则抓取页面中URL的相关内容吗?在本文中,我将为您讲解使用常规PHP抓取页面URL的相关知识和一些代码示例。欢迎阅读和指正。重点:php,常规爬取,php,页面爬取,php,爬取页面指定内容,一起学习。

  前言

  链接也是超链接,它是从一个元素(文本、图像、视频等)到另一个元素(文本、图像、视频等)的链接。网页中的链接一般分为三种,一种是绝对网址超链接,即一个页面的完整路径;另一种是相对URL超链接,一般链接到相同网站的其他页面;另一种是页面内的超链接,一般链接到同一页面内的其他位置。

  搞清楚链接的类型就知道要抓取链接了,主要是绝对URL超链接和相对URL超链接。要写出正确的正则表达式,我们必须了解我们正在寻找的对象的模式。

  先说绝对链接,也叫URL(Uniform Resource Locator),它标识了互联网上唯一的资源。 URL结构由三部分组成:协议、服务器名、路径和文件名。

  协议告诉浏览器对要打开的文件的标识做什么,最常见的是http协议。本文也只考虑了HTTP协议,至于其他https、ftp、mailto、telnet协议等,可以根据需要自行添加。

  服务器名称是告诉浏览器如何到达这个服务器的方式。通常是域名或IP地址,有时还包括端口号(默认为80)。在FTP协议中,还可以包括用户名和密码,本文暂不考虑。

  路径和文件名,通常用/分隔,表示文件的路径和文件本身的名称。如果没有具体的文件名,则访问该文件夹下的默认文件(可以在服务器端设置)。

  现在很清楚了,要抓取的绝对链接的典型形式可以概括为

  每个部分可以使用的字符范围都有明确的规范。详情请参考RFC1738。那么正则表达式就可以写出来了。

  

/(http|https):\/\/([\w\d\-_]+[\.\w\d\-_]+)[:\d+]?([\/]?[\w\/\.]+)/i

  解释如下:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线