当前位置:首页php爬虫:百级别知乎用户数据爬取与分析 举报文章

php爬虫:百级别知乎用户数据爬取与分析

作者:admin    来源:用户投稿    时间:2015.10.3   

  代码托管地址:https://github.com/hhqcontinue/zhihuSpider

  文/Hector

  这次抓取了110的用户数据,数据分析结果如下:

  

PHP爬虫 数据抓取 数据分析 爬虫抓取数据

  开发前的准备

  安装linux系统(Ubuntu14.04),在VMWare虚拟机下安装一个Ubuntu;

  安装PHP5.6或以上版本;

  安装curl、pcntl扩展。

  使用PHP的curl扩展抓取页面数据

  PHP的curl扩展是PHP支持的允许你与各种服务器使用各种类型的协议进行连接和通信的库。

  本程序是抓取知乎的用户数据,要能访问用户个人页面,需要用户登录后的才能访问。当我们在浏览器的页面中点击一个用户头像链接进入用户个人中心页面的时候,之所以能够看到用户的信息,是因为在点击链接的时候,浏览器帮你将本地的cookie带上一齐提交到新的页面,所以你就能进入到用户的个人中心页面。因此实现访问个人页面之前需要先获得用户的cookie信息,然后在每次curl请求的时候带上cookie信息。在获取cookie信息方面,我是用了自己的cookie,在页面中可以看到自己的cookie信息:

  

PHP爬虫 数据抓取 数据分析 爬虫抓取数据

  一个个地复制,以"__utma=?;__utmb=?;"这样的形式组成一个cookie字符串。接下来就可以使用该cookie字符串来发送请求。

  初始的示例:

    $url = 'http://www.zhihu.com/people/mora-hu/about'; 
    //此处mora-hu代表用户ID    $ch = curl_init($url); 
    //初始化会话    curl_setopt($ch, CURLOPT_HEADER, 0);    
    curl_setopt($ch, CURLOPT_COOKIE, $this->config_arr['user_cookie']);  
    //设置请求COOKIE    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     //将curl_exec()获取的信息以文件流的形式返回,而不是直接出。    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);     
     $result = curl_exec($ch);    
    return $result;  //抓取的结果
好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:百万  级别  用户  用户数  户数  数据  分析  
  • 相关搜索
图片推荐
    魅族华为狂降价血拼小米!黄牛欲哭无泪

    魅族华为狂降价血拼小米!黄牛欲哭无泪

    据美国市场研究公司IDC统计,中国智能手机市场2015年第一季度销售总量为1.1亿部左右,同比下滑3.7%。这是过去6年来,中国智能手机市场首次季度同比出现下滑。  出货量和上市机型放缓都释放出一个信
    新站多久才能获得一个良好的排名

    新站多久才能获得一个良好的排名

    很多朋友都非常关心这个话题,做一套网站需要多久才能有一个良好的网站排名,其实这个问题是一个非常难回答的问题,藤设计做了那么多网站,也总结过很多成功经验,但是依然还是保持着一个态度,无论新站还是老站,在
    2014年我国移动购物交易规模近9000亿

    2014年我国移动购物交易规模近9000亿

    图片来源:商务部网站  中新网5月15日电 商务部今日召开例行新闻发布会,商务部新闻发言人沈丹阳介绍了《中国电子商务报告(2014)》的相关情况。《报告》指出,我国电子商务已成为国民经济重要的增长点,
    互联网公司时尚穿搭指南

    互联网公司时尚穿搭指南

    那年,我还年轻,会穿一整套西装打领带去互联网公司面试;然后差点被人当成推销被赶出门......后来我才知道:着装,是互联网公司区别于其它公司的天然结界。互联网公司对于正装的需求,大概只存在于微信头像上
    应用号或把微信变成“互联网操作系统”

    应用号或把微信变成“互联网操作系统”

    最近,有不少欲发力进军O2O的企业家咨询我关于App还是服务号的选择。而近期在微信公开课上张小龙仿佛又提供了第三条解决路径微信应用号。那这微信应用号又是什么?作为企业而言,目前拓展线上服务最好的选择又
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面