黑基网 首页 学院 编程开发 查看内容

我 1天“偷了”知乎1000万用户,PHP果然是世界上最好的语言

2017-9-7 11:04| 投稿: xiaotiger |来自: 互联网

摘要: 本文由【php学习特邀群】提供看到很多盆友圈里分享的Python爬虫文章,感觉实在有点小儿科呢,内容处理那就是PHP的强项啊。虽然我也很讨厌讨论一门语言的好坏,每门语言存在就一定有它的道理,但是PHP是全世界最好用 ...

本文由【php学习特邀群】提供

看到很多盆友圈里分享的Python爬虫文章,感觉实在有点小儿科呢,内容处理那就是PHP的强项啊。虽然我也很讨厌讨论一门语言的好坏,每门语言存在就一定有它的道理,但是PHP是全世界最好用的语言,在座的各位没意见吧?

那会儿有个火极一时的多线程爬虫程序,抓取了老马空间几百万用户,其中几十万用户是有QQ号码、昵称、性别、年龄、所在地等信息的。不过,这算啥子嘛。

本文由【php学习特邀群】提供

我决定用php也来操作一番,我用php花了86400秒——1440分钟——24小时——一天的时间,也写了一个多进程爬虫程序,低调的抓取了知乎1000万用户。

本文由【php学习特邀群】提供

(这是一张用户详情的代码截图) 知乎是需要登录才能获取到关注者的页面的,所以我们从Chrome登录之后把cookie拷贝下来给curl程序模拟登录上去。(为什么要用Chrome呢?精简啊,给力啊)

通过以下步骤,我们就会得到这个用户列表 我们先以单个用户为起始点,抓取这个用户的关注者和被关注者入库。 因为是多进程,所以当有2个进程在处理同一个用户入库的时候就会出现重复,所以数据库用户名字段一定要建立唯一索引,唯一!

用户详情进程组 按时间拿到最先入库的用户详情,并且更新时间为目前时间,这样就会形成一个有趣的循环,程序会不停的跑,不断的获取用户信息。

本文由【php学习特邀群】提供

安安稳稳到了第二天;咦,怎么突然没有新数据了,检查了一番原来知乎改规则了,看来我的动作被发现了呢(给我返回的数据是图上这样的) 我感觉就是瞎乱的给我输出数据不让我采集;换IP、模拟伪装数据,都没用,嗦—好像有股熟悉的感觉

本文由【php学习特邀群】提供

gzip?我赶紧试了试gzip。把 “Accept-Encoding: gzip,deflate\r\n”;去掉了 gzip,然并卵,简直萌萌哒! 看来得使大招了—函数gzinflate 不知道大家了不了解,把获取到得内容加上: $content=substr($content, 10); $content=gzinflate($content));

本文由【php学习特邀群】提供

哎,PHP果然是全世界最好的语言啊,随便两个函数,就解决了问题,程序又了跑起来~

凉风有性,秋月无边,亏我思娇情结,好比度日如年

) 只是—— 我抓了它那么多用户,是要干嘛来着?

本文由【php学习特邀群】提供

算了有了这些信息,我也可以做一些别人开头闭口就乱吹一通的大数据分析拉~(不过好像还是闲的蛋疼) 最常见的当然是:

1、性别分布

2、地域分布

3、职业分布

4、年龄分布

看看人民大众都在关注点什么,社会、地理、政治有种众生尽收眼底的感觉呀,还不错嘛。 豁,我还可以这样啊! 把头像个拿来分析,用开源的验黄程序,把色情的筛选出来,说不定可以拯救东莞水深火热的人呐?

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:http://www.toutiao.com/a6462641362964578830/

免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部