-1

当我浏览这个 youtube 抓取教程https://www.youtube.com/watch?v=qbEN3boz7_M时,有人向我介绍,不是从加载了所有其他内容的“公共”页面抓取,而是有一种方法可以使用检查元素/萤火虫找到一个“私人”页面来更有效地抓取必要的信息。

google chrome > inspect element > network > XHR

youtube 视频中的人以股票价格为例,并且能够找到一个“私人”页面来快速抓取,并且对服务器的密集程度较低。虽然当我试图查看我想抓取的网站时,例如http://www.rottentomatoes.com/m/grigris/,通过检查元素 (chrome) > Network > XHR > 检查标头的请求 URL和预览,我似乎没有发现任何有用的东西。

我错过了什么吗?如何确保原始或浓缩信息是否隐藏在某处?以 Rottentomatoes.com 页面为例,我如何判断是否存在 1)提供电影标题和年份的“私人页面”和 2)“存储”的摘要页面(类似 csv 格式)所有电影的标题和年份在一页中?

4

1 回答 1

0

如果页面动态加载数据,您只能找到 XHR 请求。在您的示例中,唯一需要注意的是此 URL:

http://www.rottentomatoes.com/api/private/v1.0/users/current/ratings/771355871

其中包含有关 JSON 电影的一些信息。

{"media":{"type":"movie","id":771355871,"title":"Grigris","url":"http://www.rottentomatoes.com/m/grigris/","year":2014,"mpaa":"Unrated","runtime":"1 hr. 40 min.","synopsis":"Despite a bum leg, 25-year-old Grigris has hopes of becoming a professional dancer, making some extra cash putting his killer moves to good use on the...","thumbnail":"http://content6.flixster.com/movie/11/17/21/11172196_mob.jpg","cast":[{"name":"Souleymane Démé","id":"771446344"},{"name":"Anaïs Monory","id":"771446153"}]}}

确保在加载站点时打开了 chrome 开发人员工具。如果不是,则开发人员工具不会捕获任何请求。您可以打开它们并刷新页面,然后您应该在 XHR 过滤器下看到它们。

于 2014-08-11T19:11:11.670 回答