×

php批量提取网页链接地址

php批量提取网页链接地址(php获取网站html代码)

admin admin 发表于2023-03-25 22:19:08 浏览53 评论0

抢沙发发表评论

本文目录一览:

php如何获取当前页面url路径

利用PHP实现

1、//获取域名或主机地址

echo $_SERVER['HTTP_HOST']; #localhost 

2、//获取网页地址

echo $_SERVER['PHP_SELF']; #/PHP/XX.php

3、//获取网址参数

echo $_SERVER["QUERY_STRING"]; #id=5  

4、//获取用户代理 

echo $_SERVER['HTTP_REFERER'];  

5、//获取完整的url

echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];

#

扩展资料

PHP的特性包括:

1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,

PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。

3. PHP支持几乎所有流行的数据库以及操作系统。

参考资料来源:脚本之家:PHP获取当前页面完整URL的方法

php中curl爬虫 怎么样通过网页获取所有链接

本文承接上面两篇,本篇中的示例要调用到前两篇中的函数,做一个简单的URL采集。一般php采集网络数据会用file_get_contents、file和cURL。不过据说cURL会比file_get_contents、file更快更专业,更适合采集。今天就试试用cURL来获取网页上的所有链接。示例如下:-php批量提取网页链接地址

?php

/*

* 使用curl 采集hao123.com下的所有链接。

*/

include_once('function.php');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, '');

// 只需返回HTTP header

curl_setopt($ch, CURLOPT_HEADER, 1);

// 页面内容我们并不需要

// curl_setopt($ch, CURLOPT_NOBODY, 1);

// 返回结果,而不是输出它

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$html = curl_exec($ch);

$info = curl_getinfo($ch);

if ($html === false) {

echo "cURL Error: " . curl_error($ch);

}

curl_close($ch);

$linkarr = _striplinks($html);

// 主机部分,补全用

$host = '';

if (is_array($linkarr)) {

foreach ($linkarr as $k = $v) {

$linkresult[$k] = _expandlinks($v, $host);

}

}

printf("p此页面的所有链接为:/ppre%s/pren", var_export($linkresult , true));

?

function.php内容如下(即为上两篇中两个函数的合集):

?php

function _striplinks($document) {

preg_match_all("'s*as.*?hrefs*=s*(["'])?(?(1) (.*?)\1 | ([^s]+))'isx", $document, $links);

// catenate the non-empty matches from the conditional subpattern

while (list($key, $val) = each($links[2])) {

if (!empty($val))

$match[] = $val;

} while (list($key, $val) = each($links[3])) {

if (!empty($val))

$match[] = $val;

}

// return the links

return $match;

}

/*===================================================================*

Function: _expandlinks

Purpose: expand each link into a fully qualified URL

Input: $links the links to qualify

$URI the full URI to get the base from

Output: $expandedLinks the expanded links

*===================================================================*/

function _expandlinks($links,$URI)

{

$URI_PARTS = parse_url($URI);

$host = $URI_PARTS["host"];

preg_match("/^[^?]+/",$URI,$match);

$match = preg_replace("|/[^/.]+.[^/.]+$|","",$match[0]);

$match = preg_replace("|/$|","",$match);

$match_part = parse_url($match);

$match_root =

$match_part["scheme"]."://".$match_part["host"];

$search = array( "|^http://".preg_quote($host)."|i",

"|^(/)|i",

"|^(?!http://)(?!mailto:)|i",

"|/./|",

"|/[^/]+/../|"

);

$replace = array( "",

$match_root."/",

$match."/",

"/",

"/"

);

$expandedLinks = preg_replace($search,$replace,$links);

return $expandedLinks;

}

?

如何批量提取网页链接地址

Sitemap 全站链接抓取 URL采集工具 - SEO查

批量提取网页链接地址

如何批量提取网站所有的URL链接

额。。提取全部网址链接的话,

试试这个吧

批量提取链接的工具:ht-tps://godtool.gitlab.io/zh-cn/link-finder/?f=d5

网址前面是错的,自己改一下吧

用法:复制网页内容,粘贴到这个工具中,链接就全部一次性批量提取出来了

是不是很方便?

如何通过php获取提交页面的URL?

在PHP的开发中我们经常会通过网址URL向另一个网页传递参数的问题。在这个过程中我们首先需要获取到当前页面的URL,然后将URL中各个参数的值保存到变量中。整个过程较为简单,主要涉及到$_SERVER的用法。-php批量提取网页链接地址

1、$_server['http_host'],作用:获取网址域名,如(,这是波波的一个博客,暂且做例子吧)。

2、$_SERVER["PHP_SELF"],作用:获取网页地址,如(/code/445.html)。

3、$_SERVER["QUERY_STRING"],作用:获取网址URL参数,待会我们会在实例中用到。

4、$_SERVER["HTTP_REFERER"],作用:获取用户的代理。

通过上述说明我们基本上已经了解了$_server的常用方法,下面我们首先通过PHP代码获取当前网页网址中传递的参数。对参数进行解析并输出到屏幕上。请看源代码:

?php

$para=urldecode($_SERVER["QUERY_STRING"]);//避免网址参数中文乱码

//举例url=";b=bbbbc=cccc"

//$para='a=aaaab=bbbbc=cccc';

$cont=get_data($para);

echo$cont['a'];//屏幕打印aaaa

functionget_data($str){

$data=array();

$parameter=explode('',end(explode('?',$str)));

foreach($parameteras$val){

$tmp=explode('=',$val);

$data[$tmp[0]]=$tmp[1];

}

return$data;

}

?