掘金文章单页爬虫

简介

掘金是一个帮助开发者成长的社区,是给开发者用的 Hacker News,给设计师用的 Designer News,和给产品经理用的 Medium。里面有许多不错的文章,而且写作风格都是Markdown的风格,有时候想要保存到本地,对此有以下几种方法

直接 保存成html的形式

在浏览器的工具栏中选择打印,然后另存为pdf

复制粘贴到自己的记事本中

以上几种方式对二次编辑都不是很友好,有没有一种方式能够将文章保存到本地,而且还能支持良好的二次编辑(虽然有一种盗用他们知识产权的感觉,但是这也是一种集体的智慧,发表的文章再好也会有不足,我只是集大家之成)

爬取博客另存为markdown的形式

目标分析:掘金的文章

机器学习之 特征工程最近想学习一下机器学习,所以拿这个机器学习的文章开刀

首先常规步骤,查看源代码

文章的主题部分是被加密的,看着像是base64,于是解密了一下发现并不能直接获得内容,放弃,具体什么原因需要仔细的去看看js代码

第二步查看网页请求,有不少网站都是用模板页渲染的,文章的内容都是用ajax加载的

查看之后发现有两个请求像是请求文章主体用的,于是点开看看。其中一个应该是文章的一些描述信息,包括标题,时间,作者什么的。打开另一个发现我们需要的文章主体,第一个任务完成

接下去就是参数测试,继续查看发起的请求,这次我们查看Headers

参数有以下几个,按照以往的经验有的参数是不需要的,比如说 ,因为存在访客模式,但还是需要测试

首先把token是不是base64的问题解决了,随便找一个在线解密工具撸一下 http://tool.chinaz.com/Tools/Base64.aspx

没看懂,应该是不该看的东西~~~~~

接下去就是一个一个测试了,这里还是很人性化的,从返回结果中可以知道缺什么,我是从postId开始测试的

返回结果中提示 告诉我们需要有 属性,然后一个个来就是了

从这粗略的脚本就可以知道只需要 三个属性就可以获取到文章了

开始爬取文章并转成markdown

之后就是简单的信息获取和markdown文件生成,我使用的是 这个库,附上关键代码截图,想看完整代码的朋友请移步FengSpider-github

欢迎关注我的微信公众号——我的孙女叫小芳

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180725G1UIAH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励