PHP采集网页代码图片,教你一步搞定!

2023-06-08 0 474

原副标题:PHP收集页面标识符相片,教你一步棋搞掂!

一、甚么是PHP收集控制技术?

1.采用file_get_contents()表达式

file_get_content

标识符:

<?php $html = file_get_contents(); echo $html; ?>

2.采用curl库

curl库是两个使用方便的互联网数据传输库,它全力支持多种不同协定(如HTTP、FTP等),

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,”;); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $html = curl_exec($ch); curl_close($ch); echo $html; ?>

三、

1.采用file_get_contents()表达式

omstring()表达式建立两个影像天然资源。接下去,他们能采用imagepng()表达式将影像天然资源留存为PNG文档格式,也能采用其它文档格式。

下列标识符模拟了怎样将互联网上的相片留存为邻近地区文档。

<?php $url =; $img = file_get_contents($url); file_put_contents(image.jpg,$img); ?>

2.采用curl库

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,”;); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $img = curl_exec($ch); curl_close($ch); file_put_contents(image.jpg,$img); ?>

四、怎样从页面中提取所需信息?

在实际应用中,他们往往需要从页面中提取所需的信息。这时候,他们能采用正则表达式、DOM解析器等控制技术来进行提取。

1.采用正则表达式

正则表达式是一种强大的文本匹配工具,能方便地从文本中提取需要的信息。下列标识符模拟了怎样采用正则表达式从HTML标识符中提取img标签的src属性。

<?php $html = file_get_contents(); preg_match_all(/<img\s+src=”([^”]+)”/i,$html,$matches); print_r($matches[1]); ?>

2.采用DOM解析器

DOM

<?php $html = file_get_contents(); $dom = new DOMDocument(); @$dom->loadHTML($html); $imgs =$dom->getElementsByTagName(img); foreach ($imgs as $img){ echo $img->getAttribute(src).”\n”; } ?>

五、怎样处理页面中的编码问题?

在收集页面时,他们经常会遇到编码问题。如果他们不对编码进行处理,就会出现乱码等问题。下列是一些常见的编码处理方法。

1.采用iconv()表达式

iconv()表达式能将两个字符串从两个字符集转换为另两个字符集。例如,下列标识符能将GBK编码的字符串转换为UTF-8编码。

<?php $str =”中文字符串”; $str = iconv(“GBK”,”UTF-8″,$str); echo $str; ?>

2.采用mb_convert_encoding()表达式

mb_convert_encoding()表达式也能用来进行编码转换。下列标识符模拟了怎样将GBK编码的字符串转换为UTF-8编码。

<?php $str =”中文字符串”; $str = mb_convert_encoding($str,”UTF-8″,”GBK”); echo $str; ?>

PHP采集网页代码图片,教你一步搞定!

六、怎样处理页面中的链接?

在收集页面时,他们经常需要处理链接。下列是一些常见的链接处理方法。

1.采用parse_url()表达式

<?php $url =”;; $parts = parse_url($url); echo $parts[host]; ?>

2.采用preg_replace()表达式

preg_replace()表达式能用来替换字符串中的内容。例如,下列标识符模拟了怎样将HTML标识符中的相对链接转换为绝对链接。

<?php $html = file_get_contents(); $html = preg_replace(/<a\s+href=”([^”]+)”/i,<a href=”$1″,$html); echo $html; ?>

七、怎样处理页面中的表单?

在收集页面时,他们经常需要处理表单。下列是一些常见的表单处理方法。

1.采用cURL库

cURL库能模拟提交表单的过程。下列标识符模拟了怎样采用cURL库提交两个POST请求。

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,”;); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS,”name=John&age=30″); $result = curl_exec($ch); curl_close($ch); echo $result; ?>

2.采用file_get_contents()表达式

在一些简单的情况下,他们也能采用file_get_contents()表达式来提交表单。下列标识符模拟了怎样采用file_get_contents()函数提交两个POST请求。

<?php $context = stream_context_create(array( http=> array( method=>POST, header=>Content-type: application/x-www-form-urlencoded, content=> http_build_query(array(name=>John,age=> 30)), ), )); $result = file_get_contents(, false,$context); echo $result; ?>

八、怎样处理页面中的JavaScript?

在收集页面时,他们经常需要处理JavaScript。下列是一些常见的JavaScript处理方法。

1.采用正则表达式

正则表达式能用来提取JavaScript标识符中的信息。例如,下列标识符模拟了怎样提取两个JavaScript标识符块中的变量。

<?php $js =”var x = 10;”; preg_match(/var\s+(\w+)\s+=\s+(\d+)/,$js,$matches); echo $matches[1].=.$matches[2]; ?>

2.采用PhantomJS

<?php $html = exec(phantomjs get_h1.js ); echo $html; ?>

其中get_h1.js文档内容如下:

var page = require(webpage).create(); var system = require(system); var url = system.args[1]; page.open(url, function(status){ var h1 = page.evaluate(function(){ return document.getElementsByTagName(h1)[0].innerText; }); console.log(h1); phantom.exit(); });

九、怎样避免被反爬虫机制拦截?

在收集页面时,他们需要注意被反爬虫机制拦截。下列是一些常见的避免被拦截的方法。

1.设置User-Agent

User-Agent是用来标识浏览器或爬虫的身份的两个HTTP头部。他们能设置User-Agent来模拟浏览器的行为,避免被拦截。例如,下列标识符模拟了怎样设置User-Agent。

<?php $opts = array( http=> array( method=>”GET”, header=>”Accept-language: en\r\n”. “User-Agent:a9694ebf4d02ef427830292349e3172c/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3\r\n” ) ); $context = stream_context_create($opts); $html = file_get_contents(, false,$context); echo $html; ?>

2.设置延迟时间

他们能设置收集程序的延迟时间,避免对网站造成过大的负载压力。例如,下列标识符模拟了怎样设置收集程序的延迟时间。

<?php sleep(2);//延迟2秒 $html = file_get_contents(); echo $html; ?>

到此为止,他们已经介绍了怎样采用PH

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务