PHP爬取网页的主要方法,你掌握了吗

这篇文章讲的是PHP爬取网页的主要方法,主要流程就是获取整个网页,然后正则匹配(关键的)。

PHP抓取页面的主要方法,有几种方法是网上前辈的经验,现在还没有用到的,先存下来以后试试。

  1. file()函数
  2. file_get_contents()函数
  3. fopen()->fread()->fclose()模式
  4. curl方式 (本人主要用这个)
  5. fsockopen()函数 socket模式
  6. 插件(如:http://sourceforge.net/projects/snoopy/)

不要走开,接下来就分别来看看这六种方法,你掌握了几个?

1.file()函数

<?php
//定义url
$url='[http://t.qq.com](http://t.qq.com/)';//fiel函数读取内容数组
$lines_array=file($url);//拆分数组为字符串
$lines_string=implode('',$lines_array);//输出内容
echo $lines_string;

2.使用file_get_contents方法实现,比较简单。

使用 file_get_contents 和fopen必须空间开启 allow_url_fopen 。方法:编辑php.ini,设置 allow_url_fopen = On,allow_url_fopen 关闭时fopen和 file_get_contents 都不能打开远程文件。

$url="[http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml](http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml)";

$html=file_get_contents($url);

//如果出现中文乱码使用下面代码`

//$getcontent = iconv("gb2312", "utf-8",$html);

echo"<textarea style='width:800px;height:600px;'>".$html."</textarea>";

3.fopen()->fread()->fclose()模式 ,目前还没用过,看到了就先记下了

<?php

//定义url

$url='[http://t.qq.com](http://t.qq.com/)';//fopen以二进制方式打开

$handle=fopen($url,"rb");//变量初始化

$lines_string="";//循环读取数据

do{
   

$data=fread($handle,1024); 

if(strlen($data)==0) {
   `

break;

}

$lines_string.=$data;

}while(true);//关闭fopen句柄,释放资源

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在PHP指定网页的JSON数据,可以使用以下步骤: 1. 首先,你需要使用`file_get_contents`函数来获网页的内容。这个函数可以接受一个URL参数,用于指定要获网页。你可以像这样调用该函数:`$response = file_get_contents($url);` 2. 接下来,你需要检查是否成功获网页内容。你可以使用条件语句来判断`$response`的值是否为`false`,如果是,则表示获失败。否则,表示获成功。你可以像这样检查:`if ($response !== false) { // 获成功 } else { // 获失败 }`。 3. 如果获成功,你可以使用`json_decode`函数来解析JSON数据。你可以将`$response`作为参数传递给`json_decode`函数,然后将解析后的结果保存在一个变量中。例如:`$data = json_decode($response);` 4. 最后,你可以根据需要使用解析后的JSON数据进行后续操作。你可以访问`$data`中的各个属性和值,进行数据提或其他处理。 需要注意的是,网页数据可能涉及到访问权限和服务器限制。请确保你的虫行为符合法律和网站的规定,并尊重网站的隐私政策和使用条款。 总结: 1. 使用`file_get_contents`函数获网页内容,将结果保存在`$response`变量中。 2. 检查`$response`是否为`false`,以确定是否成功获网页内容。 3. 使用`json_decode`函数解析JSON数据,将结果保存在一个变量中。 4. 根据需要使用解析后的JSON数据进行后续操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用PHP网页JSON数据](https://blog.csdn.net/weixin_29011667/article/details/115116072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值