找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 105|回复: 16

PHP求助!

[复制链接]

12

主题

53

回帖

156

积分

注册会员

积分
156
发表于 2018-12-23 22:06:46 | 显示全部楼层 |阅读模式
登录爬取网页数据,取得

successstring(327) "{"battle":[{"id":"4988318832","buser":"muddyriddl","intype":"AP deficiency","type":"JQ"},
{"id":"11423615469","buser":"17750973387","intype":"AP deficiency","type":"QP"}]}"

我想让他显示ID=xx,账号=xx,状态=xx,模式=xx这样的怎么写啊!就这样显示出来太丑了!

前面的successstring(327) 就不管他了...
回复

使用道具 举报

12

主题

53

回帖

156

积分

注册会员

积分
156
 楼主| 发表于 2018-12-23 22:08:09 | 显示全部楼层
抓取用的
function get_content($url, $cookie) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie
    $rs = curl_exec($ch); //执行cURL抓取页面内容
    curl_close($ch);
    return $rs;
}
回复

使用道具 举报

667

主题

5112

回帖

1万

积分

论坛元老

积分
12305
发表于 2018-12-23 22:09:48 | 显示全部楼层
用正则匹配成数组就好了
回复

使用道具 举报

12

主题

355

回帖

816

积分

高级会员

积分
816
发表于 2018-12-23 22:10:29 | 显示全部楼层
json_decode()
回复

使用道具 举报

283

主题

4444

回帖

9871

积分

论坛元老

积分
9871
发表于 2018-12-23 22:10:50 | 显示全部楼层
这是json数据,我帮你写了下

wwww961h 发表于 2018-12-23 22:10

这是json数据,我帮你写了下

问一下,我最后是return $rs;
是不是
$a=$rs;
print_r(json_decode($a,true));
这样的?
回复

使用道具 举报

73

主题

1327

回帖

2959

积分

金牌会员

积分
2959
发表于 2018-12-23 22:10:58 | 显示全部楼层

虚空 发表于 2018-12-23 22:10

转换成json 然后再变成对象 然后直接取值就行了

3Q,我试试
回复

使用道具 举报

12

主题

53

回帖

156

积分

注册会员

积分
156
 楼主| 发表于 2018-12-23 22:13:54 | 显示全部楼层

今晚我是你的 发表于 2018-12-23 22:09

用正则匹配成数组就好了

哈哈哈这个倒是搜到了,就是有点懵,不知道取的数据怎么去正则匹配
回复

使用道具 举报

12

主题

53

回帖

156

积分

注册会员

积分
156
 楼主| 发表于 2018-12-23 22:10:00 | 显示全部楼层

玉藻前 发表于 2018-12-23 22:13

问一下,我最后是return $rs;
是不是
$a=$rs;

你要想办法把string()"和最后一个“去掉,然后就是正规的JSON数据了,就可以用json_decode搞定了,具体怎么做就百度把,因为我不太会正则去掉那些东西,让我去掉我就只能用笨方法,要些5 6行,麻烦死了
wwww961h 发表于 2018-12-23 22:10

这是json数据,我帮你写了下

感谢大佬!我试了
$a=$rs;
成功变的不同了!(虽然出现了=> Array这样奇怪的字符),不过已经知道大概方向了,之后百度就好了

回复

使用道具 举报

12

主题

53

回帖

156

积分

注册会员

积分
156
 楼主| 发表于 2018-12-23 22:14:55 | 显示全部楼层
变成了数组,就可以$b=json_decode($a,true);ID=$b['id'] 小写的['id'] id是数组下标,
回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2018-12-23 22:10:00 | 显示全部楼层

wwww961h 发表于 2018-12-23 22:17

你要想办法把string()"和最后一个“去掉,然后就是正规的JSON数据了,就可以用json_decode搞定了,具体怎 ...

好的,我去百度看下

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-4-22 19:16 , Processed in 0.020902 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表