189 8069 5689

php获取网站元数据 php抓取网页数据

php如何获取网址中的参数

比如有一个网址为

创新互联公司是一家专注于做网站、成都网站制作与策划设计,新巴尔虎右网站建设哪家好?创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:新巴尔虎右等地区。新巴尔虎右做网站价格咨询:13518219792

http://域名/goods.php?u=59id=24#pinglun

我想得到这个id值

可以用正则,也可以用php函数解析到数组中

用正则可以这样

preg_match('/id=(\d+)/',$_SERVER["REQUEST_URI"],$m);//$_SERVER 这个表示当前网址url

print_r($m[1]);exit;

或者用parse_url()及parse_str()函数

$cur_q=parse_url($_SERVER["REQUEST_URI"],PHP_URL_QUERY);

parse_str($cur_q,$myArray);

print_r($myArray["id"]);exit;

拓展资料

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP的特性包括:

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

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

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

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

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

4. 最重要的是PHP可以用C、C++进行程序的扩展!

参考资料:百度百科 PHP

怎么获取某网站的一个php网页源码

PHP是后台代码,一般来说你是获取不了的,因为最后呈现给用户的php网页,都经过php解释器进行转换成html代码了。

如何利用php抓取网站动态产生的数据

$url = "网站地址目录";

$queryServer = curl_init();

curl_setopt($queryServer, CURLOPT_URL, $url);

curl_setopt($queryServer, CURLOPT_HEADER, 0);

curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);

curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);

curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);

$html = curl_exec($queryServer);

$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的数据是utf-8编码的,这一行可以注销,如果需要gbk编码的,请保留.如果出现乱码,就是一行的问题,你自己调着试吧

//echo $holder;exit; 此处可以输出来测试.

$html = str_replace(array("\n","\r","\t"),"",$html);

$preg = '/table\s+width=\"800\"[^]+(.*?)\/table/';

preg_match_all($preg,$html,$out);

//匹配每行

preg_match_all('/tr[^]+(.*?)\/tr/',$out[1][0],$tr);

//匹配每个td

$result = array();

$match = '/td.+([^]+)\/td/U';

foreach( $tr[0] as $key = $value ){

preg_match_all($match,$value,$arr);

$result[] = $arr[1];

}

//输出测试,$result就是你要的数据,至于你要怎么输出显示格式,那就随心调就好了。

foreach( $result as $key = $value ){

echo implode("\t",$value);

echo "br";

}

exit;

怎么用php采集网站数据

简单的分了几个步骤:

1、确定采集目标

2、获取目标远程页面内容(curl、file_get_contents)

3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样

4、入库

php怎么抓取网站中meta函数get

参考如下

get_meta_tags -- 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组

描述

array get_meta_tags ( string filename [, int use_include_path])

打开 filename 逐行解析文件中的 meta 标签。此参数可以是本地文件也可以是一个 URL。解析工作将在 /head 处停止。

将 use_include_path 设置为 1 将促使 PHP 尝试按照 include_path 标准包含路径中的每个指向去打开文件。这只用于本地文件,不适用于 URL。

下面实例分析了php中get_meta_tags()、CURL与user-agent用法。具体分析如下:

get_meta_tags()函数用于抓取网页中meta name="A" content="1"meta name="B" content="2"形式的标签,并装入一维数组,name为元素下标,content为元素值,上例中的标签可以获得数组:array('A'='1', 'b'='2'),其他meta标签不处理,并且此函数只处理到/head标签时截止,之后的meta也不再继续处理,不过head之前的meta还是会处理.

user-agent是浏览器在向服务器请求网页时,提交的不可见的头信息的一部分,头信息是一个数组,包含多个信息,比如本地缓存目录,cookies等,其中user-agent是浏览器类型申明,比如IE、Chrome、FF等.

今天在抓取一个网页的meta标签的时候,总是得到空值,但是直接查看网页源代码又是正常的,于是怀疑是否服务器设置了根据头信息来判断输出,先尝试使用get_meta_tags()来抓取一个本地的文件,然后这个本地文件将获取的头信息写入文件,结果如下,其中替换成了/,方便查看,代码如下:

代码如下:

array (

'HTTP_HOST' = '192.168.30.205',

'PATH' = 'C:/Program Files/Common Files/NetSarang;C:/Program Files/NVIDIA Corporation/PhysX/Common;C:/Program Files/Common Files/Microsoft Shared/Windows Live;C:/Program Files/Intel/iCLS Client/;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Program Files/Intel/Intel(R) Management Engine Components/DAL;C:/Program Files/Intel/Intel(R) Management Engine Components/IPT;C:/Program Files/Intel/OpenCL SDK/2.0/bin/x86;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/QuickTime Alternative/QTSystem;C:/Program Files/Windows Live/Shared;C:/Program Files/QuickTime Alternative/QTSystem/; %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;',

'SystemRoot' = 'C:/Windows',

'COMSPEC' = 'C:/Windows/system32/cmd.exe',

'PATHEXT' = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',

'WINDIR' = 'C:/Windows',

'SERVER_SIGNATURE' = '',

'SERVER_SOFTWARE' = 'Apache/2.2.11 (Win32) PHP/5.2.8',

'SERVER_NAME' = '192.168.30.205',

'SERVER_ADDR' = '192.168.30.205',

'SERVER_PORT' = '80',

'REMOTE_ADDR' = '192.168.30.205',

'DOCUMENT_ROOT' = 'E:/wamp/www',

'SERVER_ADMIN' = 'admin@admin.com',

'SCRIPT_FILENAME' = 'E:/wamp/www/user-agent.php',

'REMOTE_PORT' = '59479',

'GATEWAY_INTERFACE' = 'CGI/1.1',

'SERVER_PROTOCOL' = 'HTTP/1.0',

'REQUEST_METHOD' = 'GET',

'QUERY_STRING' = '',

'REQUEST_URI' = '/user-agent.php',

'SCRIPT_NAME' = '/user-agent.php',

'PHP_SELF' = '/user-agent.php',

'REQUEST_TIME' = 1400747529,

)


本文题目:php获取网站元数据 php抓取网页数据
文章分享:http://jkwzsj.com/article/hjpdgc.html

其他资讯