所以你就能进入到用户的个人中心页面

作者:上海建筑防水有限公司  来源:www.yxjzfs.com   发布时间:2018-10-26 08:59:11
【php爬虫】百万级别知乎用户数据爬取与分析 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']);
//设置请求COOKIEcurl_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; //抓取的结果

推荐阅读/观看:介休网站制作 https://www.feimao666.com/diqu/sanxi/jiexiu/



上一篇:如何选择美国主机
下一篇:最后一页