简书首页数据抓取的答疑

有几位简友留言问到简书首页数据的抓取问题,说只能抓取到20条数据,如何抓取到更多;简书首页数据分页加载是怎么样处理?

我用chrome -- 检查 -- network 分析一下,截图来说明。我是按这样的顺序来进行分析的。

  1. 弄清分页加载的方式
  • 着重分析第2页url,找出构造url参数的规律
  • 在第3页中验证

分页加载方式在前面文章中讲过,无非3种方式,简书首页采用的是滚动加载,直接滚动加载第2页,查看url进行分析:

构成第2页url中有20个id的参数,加上page=2,需要回到加载首页时看看这20个id是如何得到的。

发现就是文章<li>的id,这个可以在第一次抓取时获得,这样就可以构造成第二页的一长串的URL

再验证一下第3页的URL,发现这个时候id的数量增加了。增加的是从哪里来的?

核对一下,这些id包含了前两次加载的页面的<li>id值,这样构成第3页的url,在编写代码的过程中,我发现直接构造了这样的URL,还是不能抓取到第2页或第3页的数据,仍然是第一页的数据。从抓包和请求上查看,这时我已经构造了完整的请求的URL。

回过头来比较一下,第一次(首页)加载的数据和后面分页加载的数据有什么不同。

后面的分页加载的直接是xml数据,请求的是XMLHttpRequest,修改一下请求头headers,再次抓取,就会看到抓取的是分页数据了。


在这篇文章中 Python爬取数据的分页分析,简书七日热门和三十热门抓取时,网页结构基本与首页相似,我对URL做了简化处理,不影响数据的获取,为什么在抓取首页数据时要传递这么复杂的参数,大家可以思考一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上一篇文章 简书首页数据抓取的答疑 ,分析了在抓取简书首页时的问题,还有一些小的细节需要注意。 一、Scrapy:...
    向右奔跑阅读 4,549评论 0 5
  • 本该昨天完成的文章,拖了一天。可能是没休息好吧,昨天的在思路以及代码处理上存在很多问题,废话不多说,我们一起来看一...
    TinyPiXOS阅读 10,621评论 2 23
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,658评论 25 709
  • 更新于9.25,这是关于大学生支教的记录,后期支教结束有部分团体旅游的记录。无论外界对大学生支教评价如何,很多事情...
    桃籽霁阅读 3,764评论 0 8
  • 我在阳台放歌 风轻轻地 我想我该写点什么 写山写树写鸟飞过 写白云和蓝色 倒不如写此刻的感觉 作为一个诗人的感觉 ...
    晓晓博士阅读 1,118评论 4 4