作家
登录

Python爬虫爬取知乎小结

作者: 来源: 2017-05-24 17:18:41 阅读 我要评论

比来进修了一点收集爬虫,并实现了应用Python来爬取知乎的一些功能,这里做一个小的总结。收集爬虫是指经由过程必定的规矩主动的大年夜网上抓取一些信息的法度榜样或脚本。我们知道机械进修和数据发掘等都是大年夜大年夜量的数据出发,找到一些有价值针砭律的器械,而爬虫则可以赞助我们解决获取数据难的问题,是以收集爬虫是我们应当控制的一个技能。

Python有很多开源对象包供我们应用,我这里应用了requests、BeautifulSoup4、json等包。requests模块赞助我们实现http请求,bs4模块和json模块赞助我们大年夜获取到的数据中提取一些想要的信息,几个模块的具体功能这里不具体展开。下面我分功能来介绍若何爬取知乎。

模仿登录

下图是我的主页的部分截图,大年夜膳绫擎可以看到这19个数据,下面第二张图是终端上显示的我的┞封19个数据,我们可以作个对比,看看是否全部抓取到了。这个函数我用了很长时光来调试,因为不合人的主页的信息完全程度是不合的,如不雅你在应用过程中发清楚明了缺点,迎接告诉我。

要想实现对知乎的爬取,起首我们要实现模仿登录,因为不登录的话很多多少信息我们都无法拜访。下面是登录函数,这里我直接应用了知乎用户fireling的登录函数,具体如下。个中你要在函数中的data里填上你的登录账号和暗码,然后在爬虫之前先履行这个函数,不出不测的话你就登录成功了,这时你就可以持续抓取想要 的数据。留意,在初次应用该函数时,法度榜样会请求你手动输入captcha码,输入之后当前文件夹会多出cookiefile文件和zhihucaptcha.gif,前者保存了cookie信息,后者则保存了验证码,之后再去模仿登录时,法度榜样会主动帮我们填上验证码。

须要留意的是,在login函数中有一个全局变量s=reequests.session(),我们用这个全局变量来拜访知乎,全部爬取过程中,该对象都邑保持我们的持续模仿登录。

获取用户根本信息

 

知乎膳绫强个用户都有一个独一ID,例如我的ID是marcovaldong,那么我们就可以经由过程拜访地址 https://www.zhihu.com/people/marcovaldong 来拜访我的主页。小我主页中包含了栖身地、地点行业、性别、教导情况、获得的赞数、感激数、存眷了哪些人、被哪些人存眷等信息。是以,我起首介绍若何经由过程爬虫来获取某一个知乎用户的一些信息。下面的函数get_userInfo(userID)实现了爬取一个知乎用户的小我信息,我们传递给该用户一个用户ID,该函数就会返回一个 list,个中包含昵称、ID、栖身地、地点行业、性别、地点公司、职位、卒业黉舍、专业、赞成数、感激数、提问数、答复数、文┞仿数、收藏数、公共编辑数量、存眷的人数、被存眷的人数、主页被若干小我浏览过等19个数据。

获取某个谜底的所有


  推荐阅读

  NAS存储采购难?“三问六则”帮你搞定

前两天,一个多年不愫系的老友找笔者聊天。开篇便问“畅畅,你懂得NAS存储吗?”笔者也是摸不着头绪>>>详细阅读


本文标题:Python爬虫爬取知乎小结

地址:http://www.17bianji.com/lsqh/35407.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)