Palai

Palai

程序员 | 开源爱好者 | 喜欢交友

实习生就是块砖,哪里需要搬哪里

背景:负责的项目这段时间没有啥活了,摸鱼几天之后,mt 给我说搞一个小需求。
然后有个产品经理就联系我了,说是让我实现一个爬虫需求:将邮箱中的内容上传到我司的平台 。

嗯,就是这个小需求,有点搞心态。不是说技术上的问题,而是。。。。。(预知后事如何,请接着往下看)

我:那这个邮箱有限制吗,可以使用网页版的吗?
A:这个没啥要求 ,可以的
我:上传到平台这个接口,有没有现成的
A:你去找 ** (负责项目的爬虫模块)他知道

然后我了解完就开干了。

测试用的邮箱是我自己的 163 邮箱,因为我是 Java 对于 Python 来说都不是很熟练。
调研一番之后,先是考虑到用 Selenium 模拟自动化去实现,我只要通过固定的按钮来控制进行。
第一关:登录
使用 Selenium 模拟登录,会被 ban 。因为太快了,被网易的反爬机制检测出来了。
解决:一个 sleep(time)函数即可
第二关:挖掘共性
因为我需要实现的是批量操作,所以我代码的通用性要更合适。
实现流程:登录 - 点击未读邮件的 logo(读过的,就不需要再次爬取了)- 第一封 - 解析内容 - 返回 - 第二封 - 解析内容 - 返回 ----。。。。。。。
这个流程中,解析到内容以后,我想要实现返回按钮,这个时候出现了未知的原因,我用了很多种方法,都没有成功。(很离谱)不过已经到周五了。。嘿嘿

然后经过了一个周末,我解析的内容也出现问题了,爬取的内容为空。
直接 f12 看看到底哪里出问题了,后面发现是前端的框架变了(虚惊一场)重新解析即可。
上面提到的问题还没有解决,很是苦恼。于是 我开始用第二种方法了:直接获取整个页面的内容 ,再用一个循环 控制批量。 最后解析整个内容即可 。
就这样我完成了这个小需求。

我:你好,您看看这个效果符合吗 ?
A:不是,我不需要整个的内容,我只需要特定的链接 (说着就开共享给我看了具体流程)
我:嗷嗷,我懂了(其实就是爬取他邮箱中特定邮件的报告,把里面的特殊链接提供各给爬虫)(服了 ,一开始直接给我演示不好吗!)这跟上传哪门子搭架了。
我:那提供给爬虫是需要以什么格式呢?文本?还是啥?
A:你去问爬虫小哥,他知道
我:好的(^^_)

最后把爬到的链接 存到本地 execl 中 按照 链接:时间戳 的格式存储

收获: 一定要搞清楚需求,必要时可直接演示,因为你不知道产品经理口中的东西是不是你脑中的东西 ^^_#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。