php模拟浏览器获取get后返回的所有网址

php模拟浏览器获取get后返回的所有网址,第1张

模拟GET请求:file_get_contents($url)通过php内置的file_get_contents函数可以模拟浏览器访问网址的行为。

取的结果就是那个网址所返回的所有网址。

网页浏览器(WebBrowser),常被简称为浏览器,是一种用于检索并展示万维网信息资源的应用程序。这些信息资源可为网页、、影音或其他内容,它们由统一资源标志符标志,信息资源中的超链接可使用户方便地浏览相关信息。

主要还是靠调整好网站结构

我的方法是一层目录,二层内容的方案

所有的内容都在第二层,所以可以保证不会出现你所说的问题

也可以用url连接

如果都不用,那可以建议你把每个页面做个变量标记,例如,在首页设置一个变量为xx,xx记录了相对连接时的过度内容,如/server/

然后把变量组合起来,例如

<a href="<echo xx>indexphp">Home</a>

结果存在一个数组里?数组是在PHP的内存中的,一个脚本运行完的时候这个数组也就变成空的了。所以写到硬盘里或者数据库里吧。这是按你说的写到数组里的方法,你加一点就可以改成存到别的地方:

<php

function curl($url)

{

$curl = curl_init();

$curl_header = array(

'Accept: /',

'User-Agent: Mozilla/50 (Windows NT 52; rv:501) Gecko/20100101 Firefox/501',

'Connection: Keep-Alive');

curl_setopt($curl,CURLOPT_URL,$url);

curl_setopt($curl,CURLOPT_REFERER,$url);

curl_setopt($curl,CURLOPT_>

如果你要

之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的

标签中的内容,可以用preg_match_all //提取所有代码 $pattern = '/

(+)

/is'; preg_match($pattern, $string, $match); //$match[0] 即为

之间的所有源码 echo $match[0]; //然后再提取

之间的内容 $pattern = '/(+)li>/is'; preg_match_all($pattern, $match[0], $results); $new_arr=array_unique($results[0]); foreach($new_arr as $kkk){ echo $kkk; }

PHP语言为服务器端的脚本,是在服务器上被执行,与Javascript不同,javascript、CSS、都能完全被保存。

客户端请求时,PHP语言被解析执行,生成html代码,通过web服务器发送给浏览器,

浏览器上已经没有PHP语言的任何信息。

如果通过浏览器,是永远无法获取PHP源码。

这是请求报头中的Accept-Language的关系了。

这样一来,你只是使用file_get_contents函数就实现不了这个功能了。

能够模拟浏览器发送各种报头,甚至是登录用cookie的扩展有不少,Curl就是其中之一。

你需要去网上去寻找相关的文章仔细了解一番,再做打算:

下面是PHP官网关于CURL扩展的手册:

Client URL Library>

以上就是关于php模拟浏览器获取get后返回的所有网址全部的内容,包括:php模拟浏览器获取get后返回的所有网址、PHP:如何得到网站的根地址、php获取一万次网址内容怎样最快等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9285750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存