Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 3.5 KB

ReadMe-Zhihu.md

File metadata and controls

36 lines (30 loc) · 3.5 KB

知乎爬虫

#####一:firstLogin模拟登录知乎--代码解读思路整理。

  • 很多网站需要登录才能访问更多的内容,so登录必不可少,这部分代码也是我fork的源码的author.py(在第二部分可见,尊重作者,感谢:)
  • 首先要想模拟登录,浏览器的工作原理一定要了解一点,推荐Chorme浏览器自带的审查元素(右键即可)然后观察Network的变化
  • 模拟登录首先要构建Header请求头,这是让请求网站认为你是浏览器(not spider)
  • 第二步要获取xsrf--详细请看http://baike.baidu.com/link?url=x5M7ywYtlBL5LDGsZ61VTJHzS582Y1uZnXgor_LszDF0k7-BY7RA8YwkJ02yxxk-hAANTw32wcHGRRl3Xqi2-a 我们要做的就是利用re或者bs去相应的网站获得这个参数,以证明我们不是坏银==
  • 正确输入账号密码之后,肯定要输入验证码啦==简单的思路就是把验证码下载下来,然后人眼识别,手动填入(当然大神的源码中,能够直接破解,自动填写,但是在我的win7上好像不可以==)所以我稍微改了一下,用网页自动打开==
  • 首次登陆成功之后,以后肯定不想重复再做这些啦,所以有cookie的存在啊~~注意一点:firstLogin代码执行并不是一开始就执行main函数--会先检查cookie==
  • 在firstLogin代码里面有详细的步骤(删除了一些原来大神的完善代码),只是为了自己更好理解一下,思路更加清晰一些(尊重产权==)

#####二:getImgs爬取知乎问题下的图片--女生拥有短发是怎样一种体验?

####三:getQuestion_topic爬取某个话题下面的所有问题。

####四:getImgs爬取知乎问题下的图片--女生拥有短发是怎样一种体验?

  • 加上了Thread,Quene跑的快飞起了--五六分钟爬了1000条左右
  • 加上的异常处理,碰到了不能下载下来的,直接跳过去
  • 线程的知识参考简书作者感谢

####五:要干嘛?还没想好==

####六:getFocus批量关注某个话题下面的用户

  • 详细请见代码
  • 有点疑问 批量获得关注者 那个start参数有什么规律==
  • 更新了最新的代码,start是十位数的时间戳