花了那么多钱和时间培训了phpphpstorm语言设置中文,但现在我发现这工作不太适合自己,不知道应不应该继续这个专业工作

我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 - 文章 - 伯乐在线
& 我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言
【更新】:源码在这里:
看了不少朋友圈里,处理内容本来就是PHP的强项,Python唯一的好处估计也就天生的Linux自带,和Perl一样,这点觉得挺不够意思的Linux,还是Mac厚道,天生就自带了Python、Perl、PHP、Ruby,当然我也很讨厌讨论一门语言的好坏,每门语言存在就一定有它的道理,反正PHP是全世界最好用的语言,大家都懂的^_^
前几天比较火的是一个人,其中有300万用户是有QQ号、昵称、空间名称等信息的,也就是说,有详情也就300万,跑了两周,这没什么,为了证明PHP是全世界最好的语言,虽然大家都懂的^_^,我用PHP写了一个多进程爬虫程序,只用了一天时间,就抓了知乎100万用户,目前跑到第8圈(depth=8)互相有关联(关注了和关注者)的用户。
爬虫程序设计:
因为知乎需要登录才能获取到关注者页面,所以从chrome登录之后把cookie拷贝下来给curl程序模拟登录。
使用两大独立循环进程组(用户索引进程组、用户详情进程组),用的是php的pcntl扩展,封装了一个非常好用的类,使用起来和golang的携程也差不多了。
下面是用户详情的截图,用户索引代码类似
这里插个题外话,经过测试,我的8核的Macbook,跑16进程的速度最快,而16核的Linux服务器,居然是跑8进程最快,这点有点让我莫名其妙了,不过既然测试出最后进程数,就按照最后设置就好啦。
1、用户索引进程组先以一个用户为起点,抓取这个用户的关注了和关注者,然后合并入库,因为是多进程,所以当有两个进程在处理同一个用户入库的时候就会出现重复的用户,所以数据库用户名字段一定要建立唯一索引,当然也可以用redis这些第三方缓存来保证原子性,这个就见仁见智了。
通过步骤一之后,我们就得到下面的用户列表:
2、用户详情进程组按照时间正序,拿到最先入库的用户抓取详情,并且把更新时间更新为当前时间,这样就可以变成一个死循环,程序可以无休止的跑,不断的循环更新用户信息。
程序稳定运行到第二天,突然没有新数据了,检查了一下发现知乎改规则了,不知是为了防我,还是碰巧,反正给我返回的数据是这样的
第一感觉就是胡乱给我输出数据让我采集不到,换了IP、模拟伪装了些数据,都没用,突然感觉这个很熟悉,会不会是gzip?抱着怀疑的态度,试了试gzip,首先当然是告诉知乎不要给我gzip压缩过的数据
把 “Accept-Encoding: gzip,deflate\r\n”; 改成 “Accept-Encoding:deflate\r\n”; 去掉了 gzip,然并卵!
看来知乎是强制要给我gzip压缩数据了,既然如此,那我就解压呗,查了一下php解压gzip,发现就一个函数gzinflate,于是把获取到得内容加上:
$content = substr($content, 10);
$content = gzinflate($content));
这里我真想说,PHP真的是全世界最好的语言,就两个函数,就彻底解决了问题,程序又欢快的跑起来了。
在匹配内容的时候,知乎的细心也是给了我无数的帮助,例如我要分清用户性别:
哈哈开玩笑的拉,其实是样式里面有 icon-profile-female 和 icon-profile-male ^_^
我蛋疼的抓了它那么多用户,到底有什么用呢?
其实没什么用,我就是闲的蛋疼 ^_^
有了这些信息,其实就可以做一些别人开头闭口就乱吹一通的大数据分析拉
最常见的当然是:
1、性别分布
2、地域分布
3、职业分布
4、每个职业的男女比例
当然,按照关注人数、浏览人数、提问数、回答数等排序,看看人民都在关注什么,民生、社会、地理、政治,整个互联网都尽收眼底拉。。
也许,你还可以把头像拿来分析,用开源的验黄程序,把色情的筛选出来,然后去拯救东莞? ^_^
然后,你还可以看看那些大学出来的人,最后都干了什么。
有了这些数据,是不是可以打开脑洞 ^_^
下面是利用这些数据做出来的一些有趣的图表,实时图表数据可以去 /zhihu/ 上看
关于作者:
可能感兴趣的话题
感觉你们都很厉害(~ ̄▽ ̄)~
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线跨平台性强:因为PHP是Web服务器上运行的脚本;效率高:PHP所占有的系统资源很少;1.3PHP+MYSQL介绍;Php[9]是HypertextPerproce;MySql是一个真正的多用户、多线程SQL数据库;1.4Apache服务器;Apache是世界上使用排名第一的Web服务器软;Apache源于NCSAhttpd服务器,经过多;Apache有多种
跨平台性强:因为PHP是Web服务器上运行的脚本语言,所以在UNIX、 LINUX 、WINDOWS上都是可以运行的。
效率高:PHP所占有的系统资源很少。
1.3PHP+MYSQL介绍
Php[9]是HypertextPerprocessor(文本预处理程序)的简称,它是一种服务器端的嵌入式HTML脚本语言。相对应的语言有ASP、JSP等,由于它的性能与ASP非常相似,所以PHP被称为“源代码开放的ASP”。
MySql是一个真正的多用户、多线程SQL数据库服务器。SQL是世界上最流行的以及最标准化的数据库语言。MySql是以一个客户机、服务器结构的实现,它是由一个服务器守护程序mysql和很多不同的客户程序和库组成。
1.4Apache服务器
Apache是世界上使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最为流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并且可以做代理服务器来使用。
Apache有多种产品,可以支持SSL技术,支持多个虚拟机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集结点而不是增加处理器。
1.5Apache、Web服务器软件拥有的特性
支持最新的HTTP/1.1通信协议;拥有简单而强有力的基于文件的配置过程;支持通用网关接口;支持基于IP和基于域名的虚拟主机;支持多种方式的HTTP认证;集成Perl处理模块;支持实时监视服务器状态和定制服务器日志;支持服务器端包含指令;支持安全Socket层;提供用户会话过程的跟踪;支持FastCGl。
1.6Web服务器平台与Web平台的动态设计技术
目前流行三种最常用的Web服务器平台是:基于Apache HTTP Server的服务平台、基于网景的NES的服务器平台、基于微软的IIS的服务器平台。Apache HTTP Server[10]可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python 等解释器编译到服务器中。而且PHP与Apache HTTP Server搭配,是业界公认的黄金组合,因此本网站采用Apache HTTP Server服务
当前比较流行的Web开发技术有:ASP、PHP、JSP、ASP.NET等。ASP在国内较为流行,但是由于ASP的跨平台能力差,而且安全系数不高;JSP在国际上较为流行,适合开发一切企业级电子商务系统,但是由于JSP在技术上和成本上要求都比较高,现在在国内运用的还比较少;ASP.NET是Microsoft.NET Framework中的一组用于构建Web应用程序和XML Web Service的技术平台,有一定的复杂性;而PHP是秉承Linux的GNU风格,借助与源代码公开,使他迅速的成为世界上目前应用最为广泛的站点制作语言之一。加上它和MySql,Apache精密配合,用PHP编写的代码执行起来会更加快速、更加稳定。用PHP编写的代码,不用改变就可以在不同的Web服务器上,在不同的操作系统下运行。相比之下,我们选择了PHP语言来开发本网站。
1.7网站开发工具Dreamweaver
Dreamweaver是一款有着多年历史和很多好评的可视化网页编辑工具,简称DW,它最主要的特点就是一边编辑一边看见效果,它支持标准的W3C页面,并且它还支持对网站进行操作,包含HTML的格式控制和效果检查、HTML格式化选项、图像效果编辑、全FTP功能、处理Flash等富媒体格式和动态HTML,而且还支持ASP、JSP、PHP、ASP.NET、XML等程序语言的编写和调试。Dreamweaver是可视化的网页制作工具,很容易上手,可以让你轻松的制作自己的网页。
Dreamweaver的最大特点就是可视化的对页面进行布局,同时又可以进行代码的编辑和一些应用程序的开发。这些特点就可以让开发人员更快的对页面进行布局和美化,节约了大量的时间。可视化布局功能和用手动的CSS来比较的话,不仅提高了效率,而且更精确。
1.8PHP发展前景
在最近的几年中,PHP已经发展成为世界上最为流行的Web平台,它运行在全球超过三分之一的Web服务器上。PHP的发展不仅是数量上的,也是质量上的。越来越多的公司,包括《财富》杂志全球500强排行榜上的公司,都依靠PHP来运行他们的商业级的应用,从而创造了新的的就业机会并且增加了PHP开发者的需求。
1.9网站开发目的
该网站以网络作为平台,让消费者不出门就可以选择到自己心目中适合的花束,并且为购买过程节约更多的时间和精力,因此让购物的过程更加快速、简捷,并且也让购物过程的可靠性和安全性更高。同时我们还可以通过该平台对商品的信息进行有效的管理和更新,更加有效的为消费者提供有效的建议。
该网站除了能及时为消费者展示一些美丽的鲜花而外,还可以让消费者和我们很好的沟通,消费者可以通过留言的方式和我们交流,并且给我们提供一些建议,我们通过这些建议来更好的完善网站,也通过这种方式来尽可能的满足人们的需求,尽可能的给消费者提供有效的信息,便于他们节约更过的购物时间和精力。
我们除了管理产品信息而外,我们也能对用户的信息进行很好的管理,并且与此同时,也对用户的留言进行管理和意见的反馈。因此我认为这样的网站具有一定的实用价值。
1.10国内外现状研究
在国外特别是信息化高度发展的国家和地区,网上选择购物已经发展迅速,调查表明,像美国等国家在很早之前就出现了网上购物,当然网上浏览产品信息也不例外。
在国内,鲜花网店大多存在于发达城市,对于不太发达城市来说,网上的一个鲜花信息的推荐也是一个不错的选择,当然在国内,这样的网站还是很有发展前景的。
1.11需要进一步解决的问题
虽然对于市场的调查表明这样的网站可行性比较高,但是随着人们工作越来越繁忙,对时间的要求越来越高,需求越来越高,信息技术越来越发达,如果只是基于提供参考意见给用户,还需要他们出门去购买的话,对于一些用户来说,可能不能满足他们的需求,因此,还需要研究是否考虑能否实现用户网上购买的功能,当然这将花费更多的时间精力与金钱,也就会面临更多的困难
第2章 系统概要设计
2.1可行性分析
2.1.1技术可行性分析
该网站采用PHP+Mysql+Apache进行开发,其中前台采用HTML嵌入PHP进行页面的开发和管理用户界面,为用户提供完整全面有效的信息,界面友好简洁,富有亲和力;后台采用Mysql数据库开发和管理数据库,从而实现对产品信息以及用户信息的增删改查,并且,我们采用现在特别流行的开源Apache[4]服务器,使用方便简捷、运行稳定并且安全性高、可靠度高。PHP+Mysql+Apache这个国际公认的开发网站的黄金搭档,在各个领域都得到广泛的应用,因此,我认为此方案是可行的。
2.1.2操作可行性分析
此网站简单明了,后台界面也很方便简捷,对于用户来说,不需要很高的计算机知识就可以很好的对网站进行使用和维护,对于信息的更改也是十分快速简单的,所以在操作上也是可行的。
2.1.3经济可行性分析
由于此网站的内容不是太多,也不是太复杂,因此开发所需要的成本也就不高,开发的过程中,只需要一台计算机和以上所提到的软件便可以实现全部的开发任务,并且所需要的软件都是可以在网上直接免费下载的,所以,可是说整个开发过程的成本是非常低廉的,这也就为以后网站的维护节约了许多成本,同时也提供了非常大的方便。并且在使用的成本上,只需要一台可以联网的计算机就可以,所以是适合广大用户的访问和使用。
2.2需求分析
2.2.1初步调查
本次调查主要是通过体验各大网站的的展现方式,以及了解他们的管理运作方式和管理业务流程,分析现在的网站的基本运行情况,同时参考相关情况的调查分析报告。
大多数的鲜花网站都是用于同城订购的,并且这样的同城订购都是存在于发达的一、二线城市,而对于不那么发达的城市来说,并没有达到这样的消费高度。并且对于这些消费人群来说,他们对于鲜花的话语或者说用处没有了解的那么透彻。
2.2.2用户需求分析
随着互联网的高速发展,Web应用技术也得到了迅速的提高。电子商务平台便是基于这些互联网技术发展起来的。对于用户来说,在生活中让某些事情更简便,更快速,花费的更少就是用处最大的。
随着人们的生活品质越来越高,对于美的要求也就越来越高,鲜花成为人们生活中必不可少的东西,所以对于这一点,以鲜花为主题的网站必定是有优势的,当然人们在网上预订鲜花的发展趋势越来越明显。
但是,网上鲜花预订毕竟对于时间的要求是非常高的,因此,网上鲜花预订主要是用于同城预订,并且存在于发达的一、二线城市,而对于不那么发达的城市的人来说,实现鲜花的网上预订并不那么容易,并且消费的人群也没有发达城市那么多,但是三线城市的人们依然有许多繁忙的工作,他们没有太多的时间去花店选择。
因此,对于这些人群来说,在得到很好的建议之后再去花店便可以为他们节约很多的时间、精力、甚至的金钱。
三亿文库包含各类专业文献、文学作品欣赏、生活休闲娱乐、行业资料、高等教育、应用写作文书、外语学习资料、幼儿教育、小学教育、基于PHP的鲜花网站的设计与实现_图文30等内容。 
 毕业设计鲜花网站设计说明 院专班学姓 系: 业: 级: 号: 名: 计算机与艺术传媒系 计算机网络技术 2008 级网络技术班 兰杰 邢玉凤 2010 年 12 月 指导教师:...  基于PHP的博客系统的设计与实现_互联网_IT/计算机_专业资料。单位代码 学号 ...你只需花几分钟时间就可以申请到一个属于自己的博 客空间,并方便地发表观点或...  网上花店系统设计_互联网_IT/计算机_专业资料。软件...系统设计与实现 相关信息,登陆以后可查看所有鲜花的...系统环境本系统实基于 C/S 模式的采用 Java 实现...  11 1 爱尚鲜花中心网站设计 爱尚鲜花中心网站策划书爱尚鲜花中心是一个立足于网络,以鲜花为商品的专业型花店平台,为亲朋 好友送去心意已经成为一种时尚,网上鲜花店...  网上鲜花销售系统的设计_互联网_IT/计算机_专业资料。天津大学网络教育学院 毕业...PHP 的百花齐放,再到微软刚推出不久 ASP.NET 为基于 B/S 程序设计 提供了...  提供各种商品的电子商务服务, 主要有鲜花、 书籍、 计算机、 汽车和各种消费类商品...PHP 在大多数 Unix 平 第 4 页 电子科技大学毕业设计 个人动态网设计与实现...  基于PHP 的企业宣传网站的设计与实现 引论 随着互联网时代的快速发展,企业进行自我文化的形成以及其形象的影响都主要通过宣传网站 的形式来展示。网站在公司新闻发布...  鲜花商品进行浏览以及购买,管理员可以登录 后台对鲜花...基于 JSP+JavaBean 的网上花店的总体设计目标是为...订购商品,后台管理员可以管理产品价格,简介,图片等多...  网上鲜花电子商务系统的分析与设计 摘要: 电子商务大行其道,个人网站也如雨后...基于PHP技术的电子商务系... 暂无评价 45页 2下载券
对B/S模式外贸电子商务...  PHP是全球范围内应用广泛的开发语言,Web开发优选语言。因开发周期短、免费、稳定、安全、简单易学、跨平台性等因素,PHP入选全球五大最受欢迎的编程语言。越来越多的人开始参加PHP培训,那么,参加需要注意什么呢?  参加PHP培训先进要点:心态。  虽然目前PHP语言市场前景很好,而且PHP语言相对于其他的语言来说也更容易学习,但是也千万别把PHP想的过于简单,不要全信小机构的宣传,仿佛零基础的人也能够随随便便就将PHP学会。  当然我们也不用把学习PHP想的太难,既然你想从事PHP开发这方面的工作,那么就要准备全力以赴,破釜沉舟。4个月学会不会,那就坚持到5个月,5个月还不会,那就坚持到6个月。总有一天,你会全面掌握PHP知识,拿到自己满意的薪酬。  参加PHP培训的第二要点:就是学习方法。  在这里,建议大家还是报一个。一个人学习PHP太难,如果说有一群人一起来学习,就能够营造出一种学习PHP的氛围,有老师教,学习PHP碰到的问题也可以得到解决。在这里,就会碰到一个问题,那就是一个班,有零基础的,有从事过这方面工作的,PHP水平可谓是参差不齐,如果是一个零基础的同学学习PHP,你如何跟上学校的讲课进度?  参加PHP培训的第三要点:那就是坚持坚持再坚持  抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让我们新手无所适从,也许学了一半PHP,我们又开始打C#的主意,或者有人说JAVA很强,这个时候的我们不能动摇,哪怕我们真想学,也得学会了PHP,然后再学。见异思迁是最不可取的,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历。当我们花费了大量精力后却又放弃了PHP,相信我们的心里面会很难过,对未来又会陷入到迷茫中。如果不想有这种体验,那就坚持学会PHP吧。  “我们不生产技术,而是教育的传授者,更是it技术的搬运工。”  欢迎加入中软卓越,我们携手谱写自己的未来!  找,到中软卓越---it培训引领者,专注IT培训,用心做教育的一家IT培训机构  中软卓越it培训中心---PHP培训班火热招生中...(报名电话:400-)  只需120天,化身php开发大神,想学吗?来,我教你!  厦门中软卓越,权威IT培训机构,国内高端IT培训品牌,教育部指定官方IT人才培训机构。专注java培训、php培训、UI设计培训、IOS培训、安卓培训、嵌入式培训、.NET培训、web前端培训等培训课程。你们准备好怎么学习IT技术了吗?来参加厦门中软卓越IT培训课程,你的选择不会有错!  中软卓越根植于中软国际强大的软件基因和背景,服务于超一流互联网企业,掌握较前沿的IT技术(Java、UI设计、IOS、android、PHP、C语言、嵌入式、软件测试、大数据等),拥有实力雄厚、大型实战项目经验丰富的技术团队。坚持5R教学原则,以中软准员工的要求约束学员,用真实的工作体验让学员提前适应职场,4个月后直接走向工作岗位,避免工作后的水土不服。学php开发,就来厦门中软卓越!
本文由汇集整理,转载请注明作者及出处。
如需学习java、php、网络营销、IOS、android、UI设计、嵌入式、.NET等课程,请点击咨询,加入我们让你的未来不再迷茫。
中软国际(厦门)香港上市公司,专业IT培训机构,专注IT培训33年,国内高端IT培训品牌,教育部指定官方IT人才培训机构。专注java培训、php培训、IOS培训、安卓培训、UI设计培训、嵌入式培训、.NET培训等培训课程。217家合作院校,450家合作企业,真实项目实战,素质拓展,职业规划。零首付,保障就业,先就业,后付款。
较牛逼的毕业学员入职名企享受高薪就业。580家合作企业,年培育学员人数逾6000人,毕业学员就职于百度、腾讯、阿里巴巴、IBM、华为科技、三星通讯、建发集团、雅马哈等知名企业。
还有什么疑问?我们全面为你解答!为您提供一对一专人服务,请点击下方咨询
推荐阅读:
手机网站访问地址:/
实训基地一:厦门市思明区软件园二期观日路2号2楼&&&&&实训基地二:厦门市集美区软件园三期A区-04栋四楼
咨询电话:
中软国际(厦门)微信

我要回帖

更多关于 php是脚本语言吗 的文章

 

随机推荐