php爬取微信精选文章

作者: admin 分类:WebApp 发布时间: 2017-06-20 17:06 浏览: 22 评论: 0评论

为什么会想到做这样一个爬取站呢?


我来讲个故事吧!

我啊,没事喜欢看看微信公众号文章,订阅的公众号不是很多,有时一会儿就看完了。
一次无意间发现一个新大陆 搜狗微信搜索 还是官方的,这简直是微信版的头条啊,可以可以!

于是乎我就在这网站遨游一番,发现一个非常不好的体验(手机版):
点击加载更多(也就是所谓的分页),然后查看一篇文章,再返回,它..竟然...重新加载了,分页也没了,刚才看到哪儿也不知道了。那我就不能忍了哈,决定徒手撸一个,体验一定要比官方的好!

铺垫完了,技术帝已上线

  1. 我们怎么拿到它的数据呢?

  2. 如果拿到,那数据结构是怎样的呢?

  3. 怎么解决返回刷新重载的问题呢?

不急,一步步来
首先,打开 http://weixin.sogou.com
当然要打开 Chrome 调试模式 F12
往下滑,点击 加载更多内容,这时,我们看到它发起的是 Ajax 请求

20170605143735.jpg

点击加载更多内容 ,就加载一页数据
http://weixin.sogou.com/pcindex/pc/pc_0/1.html //这是第一个栏目新加载的一页数据

依此类推,下一页就变成
http://weixin.sogou.com/pcindex/pc/pc_0/2.html

而切换一个栏目,改变的是pc_1
http://weixin.sogou.com/pcindex/pc/pc_1/pc_1.html

分析发现 pc_1,pc_2... 代表栏目; 1,2,3...代表页码

总共有20个栏目类别

20170605143536.jpg

返回的数据是一些html

20170605144045.jpg

数据结构弄清楚了,理清思路,请观看我的表演
敲代码过程省略一万字,期间可能伴有喝水吃瓜等一系列其他活动 哈哈哈...
好了,表演完毕

需要注意的是:

  1. 微信图片做了防盗链处理 这里用到<meta name="referrer" content="never">这个html标签作处理

  2. 返回不重载用到了sessionStorage

  3. 版权问题:我们只是大自然的搬运工,所有文章均会跳转到微信网站,本站没有建立相应数据库,更没有存储数据

  4. 隐私问题:为了优化用户体验,只记录浏览行为,不记录、不跟踪用户个人信

Tags: 微信  

评论列表

    暂无评论

发表评论

Guest,欢迎您评论

时不待我

距今天结束还有:

热门标签
友情链接