网页小说抓取 ios(豆瓣日记:分页分页的参数和处理方法(组图))

优采云 发布时间: 2021-11-05 12:17

  网页小说抓取 ios(豆瓣日记:分页分页的参数和处理方法(组图))

  总结爬虫爬取数据时的分页。分页是抓取所有数据的关键,一般有以下几种形式:

  已知记录数,页大小(pagesize,一页中有多少条记录)

  以上前三种情况比较简单。基本上看分页数据加载时的地址栏,或者用Chrome-network稍微分析一下,然后就可以了解分页的URL了。

  一、页面分析,获取页面URL

  典型的例子是豆瓣图书的分页和电影排行榜。

  

  豆瓣图书分页

  

  51JOB职位分页

  像下面这样的页面,不显示总记录数,但是可以从页面栏中看到有多少页。一般的处理方法有两种:一种是先抓取最后一页的页码;另一种是一页一页的访问被抓取,直到没有“下一页”。

  

  Snip20170208_5.png

  二、使用抓包工具查看页面URL

  

  简书个人主页文章列表分页

  通过抓包工具获取页面URL,然后分析总页面数。一般进行计算。比如这里有文章的总数,以及每页显示的文章的数量(页面大小),可以计算出总页数。

  看看这个,7号热门文章的页面比较有趣。这么长的清单更像是一个细分。

  

  简书七日热门文章页面

  这时一般缩短参数,确定关键参数。分页的关键参数是page=2,直接把url缩减成这样:

  http://www.jianshu.com/trending/weekly?page=2

  看到的就是我们需要的数据。

  回过头来理解为什么使用这样一串URL,可以查看响应,发现响应是xml数据(一段网页数据),也就是这里使用了异步加载(AJAX)。

  

  三、抓包分析,需要构造一个页面URL

  此时通过抓包分析,还无法获取到页面URL。有时抓到的网址直接放在地址栏中,无法查看想要的分页数据,有时分页网址中还有其他参数。

  比如短书用户的“动态”数据分页url,抓包为

  http://www.jianshu.com/users/54b5900965ea/timeline?max_id=96235332&page=2

  下面是如何获取 max_id 的值。另一个问题是判断是否到达最后一页。

  比如短本中“提交请求”数据的分页:

  

  从抓包得到的分页URL,我访问的时候发现看到的页面和数据不是我们想要的。此时,分析是根据经验。基本方法是结合网页源代码,在chrome中查看响应。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线