Skip to content

maicss/pa-zhihu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

DT164DT164
DT164
and
DT164
Oct 25, 2016
e2e048d · Oct 25, 2016

History

86 Commits
Sep 26, 2016
Oct 25, 2016
Oct 6, 2016
Oct 22, 2016
Oct 25, 2016
Sep 26, 2016
Sep 26, 2016
Sep 26, 2016
Sep 26, 2016
Sep 26, 2016
Sep 26, 2016

Repository files navigation

pa-zhihu

环境

  • python 3.3以上
  • gevent(现在不需要了)
  • lxml
  • requests
  • pymysql(现在不需要了)
  • pymongo
  • 登陆界面,是模仿的7sdream的zhihu-py3

20160909更新

只能使用邮箱帐号登录

折腾了好久, 之前的就不说了吧。

这个项目本来是实验多协程的,但是知乎一直给429,一次也就能跑三个协程,后来还是算了,但是一个慢慢跑吧,也就不给服务器平添压力了。反正我也不在乎时间。

运行程序是进入到pzhihu文件夹, 然后python3 single2.py

之所以会起1,2,3类的名字是想记录版本,大家见谅...

更新

  • 2016-09-11(下午)直接还有这样的【该用户暂时被反作弊限制,0秒后跳转到知乎首页】,关键是页面上只有一个这玩意,又跪了。真的给知乎跪了
  • 2016-09-11(晚上)如果连续三分钟没有存储任何人物信息,就中断爬虫,并发送邮件提醒[这个还没做](一个账号被封的经验总结)
  • 2016-09-25 lxml在解析这个页面 的时候一直etree.XMLSyntaxError: switching encoding: encoder error, 现在不知道怎么解决, 还是用回了BeautifulSoup, 累~~
  • 2016-09-25 (晚上) 打包成package我要开始装逼了, 还未完工
  • 添加当前文件夹和路径到log file前面
  • mongodb真心累,一直挂,真无语了。而且mongodb还不支持ARM,树莓派上的是32位的,最大只支持2G的文件还有,为啥db文件夹里的文件是同名后面加123等命名的,而且大小也是16-32-64,这么有规律,嘛意思
  • beautifulsoup真心慢,还是再研究研究lxml为啥编码报错好了~~
  • 2016-10-2 添加了为被捕捉错误的Exception的trackback输出
  • 2016-10-6 lxml解析搞定了,还是换回了lxml;优化了部分解析逻辑;效率大概算了一下,只有每分钟15个人(用多协程的时候,大概是每秒0.5个,约是现在的两倍),效率好低~~计算效率也打算从原来的多协程时候的每秒变成每分钟。
  • 2016-10-10 lxml测试在有的地方还是失败了,暂时还不知道为啥是因为一个用户的签名是个emoji,而这个字符集不在utf-8里面,再试试看能找到解决方法不。另外一点修改了页面解析和数据库存储的逻辑,效率由原来的秒为单位变成了分钟为单位。
  • 2016-10-11 屏蔽了知乎的自有账号和机构账号(周源说了,知乎一共有三类账号),更改了滤重的机制。**另外: **程序还是会在有时候莫名其妙的不走了,也没报错(我catch了所有的错误)。看能不能实现监视脚本卡住了然后重启脚本的功能。
  • 2016-10-23 现在是周六的03:47发现一个用户一直挂,找了N久才发现是判断的关键字很用户名有重合,跪

最后

  • 以200万用户为界限开始做以下的事情。
  • 把所有机构账号全部删掉
  • 把关注者列表为空的删掉(这里包括了赞同为0的),或者单独拿出来再跑一次,因为之前有次改错,好多人的关注都是空。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages