使用PHP的file_get_contents()和preg_match_all()函数提取网页源码中的特定内容

PHP的file_get_contents()函数是将网页中的所有源代码读取到字符串中。

使用PHP的file_get_contents()和preg_match_all()函数提取网页源码中的特定内容

$ showdata = file_get_contents($ url);

echo $ showdata;

这几个句子可以带来网页源代码,然后显示它。

基于获得网页源代码,我们使用正则表达式来提取所需的内容。

php的preg_match_all('Regex content','target String','储存字符串');

在上面的示例中,preg_match_all('/cid:(\ d+)/',$ showdata,$ cid);是在网页源代码中找到满足CID数量的所有字符串:+。存储在CID中,这是二维阵列。

最简单的方法是以上。但是,当它实际使用时,我遇到了一些问题。首先,网页的源代码是在初始化网页之前的代码。如果我们需要在初始化网页之后提取某些元素怎么办?

file_get_contents()只能获取源代码。初始化后,无疑通过发布或获取请求数据获得了网页。我们打开JavaScript控制台

看到网络,每个网页的源代码中加载的请求以及我们需要的元素包括这些请求。您需要找到请求。通常,视频网站从背景中获取数据,这是常规的。您需要自己分析并获取视频网站的后端数据的URL。我分析了一个下午,发现了Iqiyi Life视频的后端数据的URL。

第二个问题是正则表达式问题。首先,正则表达式很难且易于编写错误。强烈建议下载正则表达式测试仪并首先进行测试。

获取Web内容时,我遇到了一个问题。如果我使用preg_match_all来获取内容,并使用preg_match_all在爬网内容的基础上再次爬网,此时我将遇到问题。

因为我们第一次抓取二维数组,所以我们应该将其变成一个字符串。简单地使用[0] [0]。我们需要使用爆破函数$ b = umpode('',$ a [0]);

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读