1、 首先进入猫眼官网之后,点击要查看的电影
例如这里查看《白蛇:缘起》的影评,按下f12后,发现没有对应的影评接口,
发现这样是不能抓到评论请求的url。
2、 使用chrome的手机调试模式
1、 f12之后找到如下图标,打开chrome的手机调试模式
打开之后,可以看到在顶部的位置可以选择不同的手机作为当前的调试
f5刷新一下,即可进入手机app的模式了,往下滚动,就能看到共有多少条评论数据。如下
此时我们再点击查看更多这里,然后在network查看一下访问的请求
点击之后,往下滚动就能找如下的url
第0次请求的url为
http://m.maoyan.com/review/v2/comments.json?movieId=1235560&userId=-1&offset=0&limit=15&ts=0&type=3
第1次请求的url为
http://m.maoyan.com/review/v2/comments.json?movieId=1235560&userId=-1&offset=15&limit=15&ts=1548834694197&type=3
第2次请求的url为
http://m.maoyan.com/review/v2/comments.json?movieId=1235560&userId=-1&offset=30&limit=15&ts=1548834694197&type=3
从上述的请求中有几个字段需要注意
movieId
userId
offset
limit
ts
type
其中,movieId我们可以在点击要爬取的电影时可以看到,userId这里默认为-1,type默认为-3,offset每次递增 15,limit限制为15,ts字段的内容,我们可以通过第0次访问得到,如下
ts在后面的访问中填入请求url中,首次默认为0.
验证一下第0次请求的是否正确
循环爬取
从上的截图中可以知道如何来循环爬取所有的评论了。每此访问完了之后,查看hasMore的值,如果为true则继续爬取,false结束。
3、 下面是从网上得到的,其中包括了城市字段,需要的话也可以做另一个参考。
http //m.maoyan.com/mmdb/comments/movie/{0}.json?_v_=yes&offset={1}
写代码爬取。