用PHP抓取数据
用PHP实现简单的数据抓取
方法一:
<?php
$urlstr = file_get_contents("http://www.baidu.com");
$urlstr = htmlspecialchars($urlstr);
print_r($urlstr);
?>
方法二:(需要打开curl扩展)
注意:打开curl扩展时,一定要看看php加载php.ini文件的路径,通过phpinfo()函数就可以看到php挂载的php.ini文件路径。
<?php
//初始化curl
$ch = curl_init() or die (curl_error());
curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com/s?wd=php"); //要求CURL返回数据
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //执行请求
$result = curl_exec($ch) or die (curl_error()); //取得返回的结果,并显示
//echo $result;
$result = htmlspecialchars($result);
print_r($result);
curl_close($ch);
?>
得到页面静态源代码后,就可以通过正则帅选你想要的结果,很方便。
相关文档:
php有一组进程控制函数,使得php能在*nix系统中实现跟c一样的创建子进程、使用exec函数执行程序、处理信号等功能。
引用
Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termination. Process Control should not be enabled within a ......
使用popen结合SHELL命令也可以实现多进程并发编程。
实例如下:
<?php
//b.php文件
$file = 'testdir/file.txt';
for ($i=0;$i<10;$i++){
$fp = fopen($file,'a+');
fputs($fp, $i.'\r\n');
fclose($fp);
sleep(1);
}
?> ......
1、如何实现字符串翻转?
<?php
function getStr($str){
$len=strlen($str);
for ($i=0;$i<$len/2;$i++){
$temp=$str[$i ......
呵呵,翻译了篇东西,N长时间没用英语了,出了丑大家可一定要指出来啊。翻译自:Nick Halstead's Blog
A friend recently got some pre-interview questions from YAHOO for a PHP
job. Following up my previous post about programmer questions I
thought I would post them to give people examples of what a ......