码迷,mamicode.com
首页 > 编程语言 > 详细

python之路--爬虫第二篇

时间:2018-07-13 13:21:40      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:需要   空值   扫码   后台   知识   html网页   出错   sel   服务端   

内容简介:基于flask框架实现web微信的登录以及收发消息。

实现思路:

  1.获取验证码,并检测是否在手机端扫码并确认登录(长轮询)

  2.用户数据初始化获取的授权信息,并根据获取的授权信息获取联系人信息

  3.发送消息,根据接受者的ID,并携带登陆授权的认证发送POST请求

  4.接受消息,用长轮询的方式,去想服务器端发送求,并检测返回值中的‘selector’值为0代表无新消息,2代表有新消息。无论为‘0’or‘2’,都会接着发长轮询请求,如果为‘2’就会向服务端请求新消息的内容。

需要注意的事项:

  1.有的微信登录地址是wx.qq.com,有的却是wx2.qq.com。检测方法:先去wx.qq.com去登录一遍,登录成功后查看域名,上面是wx.qq.com/***还是wx2.qq.com/***,以此来判断适合的URL,否则获取的数据是空值。

  2.微信的图片具有防盗链的功能。

    问题原因:在获取图片的get请求中携带的请求头有‘Referer’or‘Host’,但是html页面在发送请求的时候请求头是自动生成的,是‘127.0.0.1:5000/***’这种格式的。

    解决思路:自己在后台去模拟好请求头,在headers中添加相关的参数即可获取到图片的二进制数据,然后直接返回给前端HTML网页的img标签。

再说一点自己不会的模块吧:

  1.循环打印出所有联系人你的头像,没有成功

    解决办法:进一步学习函数的基础知识 和 flask模块。多加练习

  2.接受消息的长轮询没做好,在访问页面期间必须有人来消息才不会出错,而且不能持续打印新消息,只能打印一次。

  3.收发消息还是显示@****的ID识别号,不能根据ID转换成昵称,不符合人类观看。

 

这次作业做的不是很成功,我想还是我的知识储备太少了。                   --Mobs

python之路--爬虫第二篇

标签:需要   空值   扫码   后台   知识   html网页   出错   sel   服务端   

原文地址:https://www.cnblogs.com/mobs/p/9304258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!