
“ 本文将介绍如何使用爬虫在微信对话中实现实时的电影咨询爬取功能,希望和大家一起来分享”
撩妹起源
俗话说的好:少壮不撩妹,长大徒伤悲啊!

说的很对,但是在这个撩妹的时代,要想成功把到妹,还真得花点心思才行啊。每次和妹子约会,妹子有时就会问:最近有啥好看的电影没?对于妹子的提问,回答要么就是不知道,要么就是自己去查app了,觉得这样有时候就缺少了一些互动的乐趣了。
于是就在想,如果有个能爬取电影咨询并能自动回复的东东是不是觉得有点小惊喜呢?
(效果如下)

(后面有完整的效果)
也是前一阵闲来无事,想到这就搞了个简单的小工具,实现了在微信上实时爬取网站电影咨询的功能。这样子,以后就可以偶尔给给妹子来个小惊喜,没准儿就投怀送抱了呢。哈哈,博主也是开玩笑,其实就是觉得好玩,撸起袖子就是一顿敲。
----------------------------------------------------------------------------------------------------
功能分析
好了,让我们看看是怎么个一回事。
网站电影的信息来源于豆瓣,都说豆瓣评分很公正客观,所以就选了这个作为目标源了。
目标功能:
网站页面分析:

博主看到,这个页面的这些电影类型都是动态的信息(红色框),因此不能使用常规的request方法舒服的爬取了,这里将使用Selenium自动化测试工具来解决动态页面的爬取(之后会开一篇分享Selenium如何使用)。

这是点击电影进去后看到的详细信息,这些信息是静态的,在源码中有很好的体现,因此详细信息的爬取使用前几篇分享过的request方法解析,request方法详见下面:
页面抓取分析:
抓取信息博主使用了Selenium中的Xpath定位动态数据,以及BeautifulSoup的方法定位静态数据,方法很多种不唯一,只供参考(后续马上开一篇归纳所有爬取信息的方法)。
微信对话:
与微信互动的方面,就使用简单的接口模块itchat实现,链接里面有详细的api介绍,http://itchat.readthedocs.io/zh/latest/api/
好了,到此基本的功能实现方法有了一个概况,下面看看源码。由于篇幅问题,博主这里贴上部分主要源码,完整源码可以在以下链接下载:https://github.com/xiaoyusmd/Wechat_MovieSpider_Master
----------------------------------------------------------------------------------------------------
源码分析
电影概况信息(电影名+评分):

电影详细信息操作:

电影详细信息页面下载:

电影详细信息解析(字段):

Wehchat微信数据交换接口:

以上就是大部分的核心源码了,写的有点糙,欢迎大家一起讨论和指正。
----------------------------------------------------------------------------------------------------
功能效果图




(目标功能实现)
----------------------------------------------------------------------------------------------------
总结
模块使用
改进和完善
还有很多地方需要改进和完善,在此与大家先分享,仅供参考,更多精彩内容后续分享。
----------------------------------------------------------------------------------------------------