首页 > 后端开发 > 正文

php网页采集函数 urlPHPURL地址获取函数代码端口等推荐

2024-12-29 13:30:48 | 我爱编程网

我爱编程网小编给大家带来了php网页采集函数 urlPHPURL地址获取函数代码端口等推荐相关文章,一起来看一下吧。

本文目录一览:

php网页采集函数 urlPHPURL地址获取函数代码端口等推荐

万能采集网站php源码?

php获取网页源码内容有哪些办法

可以参考以下几种方法:

方法一:file_get_contents获取

span?/span$url="";

span?/span$fh=file_get_contents

('');span?/spanecho$fh;

方法二:使用fopen获取网页源代码

span?/span$url="";

span?/span$handle=fopen($url,"rb");

span?/span$contents="";

span?/spanwhile(!feof($handle)){

span??/span$contents.=fread($handle,8192);

span?/span}

span?/spanfclose($handle);

span?/spanecho$contents;//输出获取到得内容。

方法三:使用CURL获取网页源代码

$url="";

$UserAgent='Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0;SLCC1;.NETCLR2.0.50727;.NETCLR3.0.04506;.NETCLR3.5.21022;.NETCLR1.0.3705;.NETCLR1.1.4322)';

$curl=curl_init();?//创建一个新的CURL资源

curl_setopt($curl,CURLOPT_URL,$url);?//设置URL和相应的选项

curl_setopt($curl,CURLOPT_HEADER,0);?//0表示不输出Header,1表示输出

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);?//设定是否显示头信息,1显示,0不显示。//如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE

curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);

curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);

curl_setopt($curl,CURLOPT_ENCODING,'');?//设置编码格式,为空表示支持所有格式的编码

//header中“Accept-Encoding:”部分的内容,支持的编码格式为:"identity","deflate","gzip"。

curl_setopt($curl,CURLOPT_USERAGENT,$UserAgent);

curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);

//设置这个选项为一个非零值(象“Location:“)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如“Location:“的头)。

$data=curl_exec($curl);

echo$data;

//echocurl_errno($curl);//返回0时表示程序执行成功

curl_close($curl);?//关闭cURL资源,并释放系统资源

拓展资料

PHP(外文名:PHP:HypertextPreprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。

用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

参考资料:PHP(超文本预处理器)-百度百科

求带登录的网站采集php源码或思路

获取链接的数据以后,加个判断:如果需要登陆,则使用php的curl函数来模拟post;不需要登陆则直接采集。

高分!求高手网站信息采集源代码或编程思路

思路:

RSS采集

相似算法

聚类

分类

(一)原理

小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。

(二)事例

以下是代码片段:

下面就XMLHTTP在ASP中的应用做个简单说明

〈%

’常用函数

’1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码

functiongetHTTPPage(url)

dimHttp

setHttp=server.createobject("MSXML2.XMLHTTP")

Http.open"GET",url,false

Http.send()

ifHttp.readystate〈〉4then

exitfunction

endif

getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")

sethttp=nothing

iferr.number〈〉0thenerr.Clear

endfunction

’2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换

FunctionBytesToBstr(body,Cset)

dimobjstream

setobjstream=Server.CreateObject("adodb.stream")

objstream.Type=1

objstream.Mode=3

objstream.Open

objstream.Writebody

objstream.Position=0

objstream.Type=2

objstream.Charset=Cset

BytesToBstr=objstream.ReadText

objstream.Close

setobjstream=nothing

EndFunction

’下面试着调用的html内容

DimUrl,Html

Url=""

Html=getHTTPPage(Url)

Response.writeHtml

%〉ASP小偷入门教程.....附QQ天气小偷源代码

要做一名好的小偷有点难度:P,灵活运用XMLHTTP组件,你也可以做“小偷”

这里所说的“小偷”指的是在ASP中运用XML中的XMLHTTP组件提供的强大功能,把远程网站上的数据(图片,网页及其他文件)抓取到本地,经过各种处理后显示到页面上或者存储进数据库的一类程序。你可以通过这种小偷程序,完成过去一些似乎完全不可能实现的任务,比如说把某个站的页面偷梁换柱后变成自己的页面,或者把某个站的一些数据(文章,图片)保存到本地数据库中加以利用。“小偷”的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省大量的服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点在于:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。怎么样,听起来很神奇吧?我们现在就开始来学习一些“小偷”程序的入门知识吧!

我们拿个简单点的东西来研究一下吧,QQ网站上的天气预报程序

程序演示地址:

源码下载:

代码如下:

以下是代码片段:

〈%

OnErrorResumeNext

Server.ScriptTimeOut=9999999

FunctiongetHTTPPage(Path)

t=GetBody(Path)

getHTTPPage=BytesToBstr(t,"GB2312")

Endfunction'首先,进行小偷程序的一些初始化设置,以上代码的作用分别是忽略掉所有非致命性错误,把小偷程序的运行超时时间设置得很长(这样不会出现运行超时的错误),转换原来默认的UTF-8编码转换成GB2312编码,否则直接用XMLHTTP组件调用有中文字符的网页得到的将是乱码。

以下是代码片段:

FunctionGetBody(url)

onerrorresumenext

SetRetrieval=CreateObject("Microsoft.XMLHTTP")

WithRetrieval

.Open"Get",url,False,"",""

.Send

GetBody=.ResponseBody

EndWith

SetRetrieval=Nothing

EndFunction

’然后调用XMLHTTP组件创建一个对象并进行初始化设置。

FunctionBytesToBstr(body,Cset)

dimobjstream

setobjstream=Server.CreateObject("adodb.stream")

objstream.Type=1

objstream.Mode=3

objstream.Open

objstream.Writebody 我爱编程网

objstream.Position=0

objstream.Type=2

objstream.Charset=Cset

BytesToBstr=objstream.ReadText

objstream.Close

setobjstream=nothing

EndFunction

FunctionNewstring(wstr,strng)

Newstring=Instr(lcase(wstr),lcase(strng))

ifNewstring〈=0thenNewstring=Len(wstr)

EndFunction

’处理抓取回来的数据需要调用adodb.stream组件并进行初始化设置。%〉

’以下即为页面显示部分

〈%

Dimwstr,str,url,start,over,city

’定义一些需要使用到的变量

city=Request.QueryString("id")

’程序传回的ID变量(即用户选择的城市)赋给id

url=""city""

’这里设置需要抓取的页面地址,当然你也可以直接指定某个地址而不使用变量

wstr=getHTTPPage(url)'以下是代码片段:

获取指定页面的全部数据

start=Newstring(wstr,"")

’这里设置需要处理的数据的头部,这个变量应视不同情况而设置,具体内容可以通过查看需要抓取的页面的源代码来确定。因为在这个程序里我们需要抓取整个页面,所以设置为页面全部抓取。注意,设置的内容必须是页面内容唯一的,不可以重复。

over=Newstring(wstr,"")

’和start相对应的就是需要处理的数据的尾部,同样的,设置的内容必须是页面中唯一的。

body=mid(wstr,start,over-start)

’设置显示页面的范围

’下面就是动用乾坤挪移大法的时候了,通过replace可以用一些字符替换掉数据中指定的字符。

body=replace(body,"skin1","天气预报")

body=replace(body,"","tianqi.asp?id")

’本程序中已经完成了替换的工作,如果有其他需要的话可以继续进行类似的替换操作。

response.writebody

%〉替换完需要修改的内容后,就可以把修改的内容显示在页面上了。至此程序结束

程序使用方法及结果:把上述代码去掉说明部分后保存为tianqi.asp,上传到支持ASP和XML的空间下,在浏览器中运行即可。你可以在在这个程序的基础上进行进一步的界面美化或者程序优化。

以上只是一些关于XMLHTTP组件的初级应用,实际上它还能实现的功能还有很多,比如说保存远程图片到本地服务器上,配合adodb.stream组件可以把获取来的数据保存进数据库。小偷的作用和使用范围都很广。但是不可以拿来做违法的事哦!

也许还有人要问了,这种“小偷”程序难道只是ASP的专利吗?非也,PHP通过fopen函数一样可以实现同样的效果,由于PHP本身的各种特点,写出来的小偷程序和ASP相比,在体积和执行效率上都有着明显的优势,但限于篇幅,这里就不一一说明了。

谁也免费的PHP小说网站源码?带自动采集的那种!谁说的能用我给加100分!!

现在小说系统都加密了,建议用dedecms建站,高负载+全站静态

dedecms的采集也很厉害,不过你要慢慢写采集规则

其实其他的小说系统不一定有dedecms好用

你用心用dedecms打造一个自己的小说站,回报绝对超出你的想象

php网页采集函数 urlPHPURL地址获取函数代码端口等推荐

urlPHPURL地址获取函数代码端口等推荐

在PHP中,获取URL地址是一个基础但重要的操作,涉及到当前脚本的路径、域名、端口等信息。以下是一些用于获取不同URL信息的代码示例。

首先,获取当前脚本网址(只包含路径)的代码如下:

php
function GetCurUrl() {
if (!empty($_SERVER["REQUEST_URI"])) {
$scrtName = $_SERVER["REQUEST_URI"];
$nowurl = $scrtName;
} else {
$scrtName = $_SERVER["PHP_SELF"];
if (empty($_SERVER["QUERY_STRING"])) {
$nowurl = $scrtName;
} else {
$nowurl = $scrtName."?".$_SERVER["QUERY_STRING"];
}
}
return $nowurl;
}

通过调用`echo GetCurUrl();`,你将获得当前脚本的完整URL路径。

接下来,若要获取不包含路径(域名或IP地址)的URL地址,可以使用以下代码:

php
function getServerName() {
$ServerName = strtolower($_SERVER['SERVER_NAME'] ? $_SERVER['SERVER_NAME'] : $_SERVER['HTTP_HOST']);
if (strpos($ServerName, '')) {
return str_replace('', '', $ServerName);
}
return $ServerName;
}

执行`echo getServerName();`将输出URL地址中的域名或主机名。

如果需要获取包含端口和路径的完整URL地址,可以使用以下代码:

php
echo ''.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];

此外,还可以通过以下方式获取其他URL信息:

获取域名或主机地址:`echo $_SERVER['HTTP_HOST']."";`
获取网页地址:`echo $_SERVER['PHP_SELF']."";`
获取网址参数:`echo $_SERVER["QUERY_STRING"]."";`
获取来源网页的详细地址:`echo $_SERVER['HTTP_REFERER']."";`

理解服务器变量`$_SERVER`对于在PHP中正确地处理URL和路径信息至关重要。这些变量提供了有关服务器配置、当前请求、客户端请求等的信息。例如,`$_SERVER['HTTP_HOST']`用于获取域名或主机名,`$_SERVER['PHP_SELF']`用于获取当前脚本的文件名,而`$_SERVER['QUERY_STRING']`则提供查询字符串。

记住,`$_SERVER`变量提供了大量关于请求和服务器状态的信息,但并非所有服务器都支持所有变量。在实际应用中,确保了解你的服务器配置,以充分利用这些变量。此外,`$_SERVER`变量是PHP中的“superglobal”,这意味着在任何脚本中都可以直接访问它们,而无需使用`global`关键字。

以上内容涵盖了通过PHP获取URL地址所需的基本函数和变量,适用于网站开发和维护。希望这些信息对学习PHP的朋友有所帮助。

PHP获取网站中的信息并存入数据库

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP获取网站中的信息并存入数据库的相关内容。

用PHP自带函数就可以实现,首先要过去对方的网页信息,用
file_get_contents();参数是对方的URL地址,这个函数返回是一个字符串你想要的东西就在这个字符串中了
接下来就可以针对这个字符串做处理了,说下思路,正如你这个问题想获取到航班号起飞时间,在这个网页中应该有很多相同的标签元素,它们都有共同点,用
用正则表达式preg_match();或者是
preg_match_all();这两个函数它们都返回一个数组,这个数组存的就是你要的航班号和起飞时间,那么相同信息的数组就会出现了,然后在对这个数组进行分析找到你要的某个值或全部的值

获取信息要用到的3个函数是:
file_get_contents();
preg_match();
preg_match_all();

以上就是我爱编程网小编给大家带来的php网页采集函数 urlPHPURL地址获取函数代码端口等推荐,希望能对大家有所帮助。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“php网页采集函数 urlPHPURL地址获取函数代码端口等推荐”相关推荐