这次尝试的网站是脉脉,实现的效果是,自动登录后,爬取“发现”页面返回的其他人发的状态。然后自动评论。评论的时候,先看看有没有最热评论,如果有最热评论,就复制内容,自己也发一条一样的。如果没有,就随便发,比如“支持下”。
1. 自动登录:
这里就是用的selenium接口,找到用户号和密码的input框,自动填入后点击登录,如果自动登录失败,可以手动登录,然后控制台,回车下。
手机号和密码这些信息,我存到了mm.json文件中,getConfig获取:
mm.json:
2. 登录成功后,需要获取到用户的一些认证信息,后续接口都需要用到。
url: https://maimai.cn/contact/visit_history?jsononly=1&limit=9
这里我自己拼了个jquery的getJSON来让浏览器后台执行,但是发现前端是用react写的,没有加载jquery.js,需要先手动加载:
这样我们就能调用jquery了,是不是很爽。
3. 接下来就是如何获取这些朋友圈列表呢?
在发现这个页面,一直滚动到最下面就自动触发,加载下一页。
请求地址:
返回数据:
这个Object里面真是什么都有,发状态的人的信息都非常详细。(不太安全,这一个接口就啥信息都带过来了)
我封装了下,传入page,获取这一页的内容。测试了下,这个page可以遍历,可以从1往上扫走,速度不要太快,会被ban一会儿,提示操作频繁。我是间隔10秒,获取一次。正常用户的行为吧。
4. 提交评论:
我想的是,先爬取这个状态下,有没有热门评论,有的话,就我也回这个,如果没有,随机挑一个。
获取热门评论:
提交评论:
几个关键的接口,都实现了。所有代码我就不再发了,感兴趣的可以在github看看。
想了下,如果感兴趣的可以继续做下延伸的工作:
1. 自动点赞
2. 自动加好友(测试了,有上限,买了VIP会员一年也才能关注800个,意义不大)
3. 从feed_list中爬取出用户的具体信息,再从每个用户的主页继续爬,把这些信息存到数据库,供以后挖掘。
4. 可以把脚本放到阿里云上去跑,用Display模拟一个桌面就可以了。