使用inspect元素或firebug进行Python抓取
在我学习这个关于抓取YouTube数据的教程时,发现有一种方法可以更高效地获取信息。这个方法是通过查看网页的“私密”页面,而不是从充满各种内容的“公开”页面抓取数据。这样做可以减少对服务器的压力。
google chrome > inspect element > network > XHR
视频中的人用股票价格作为例子,成功找到了一个“私密”页面,这样抓取数据就快多了,服务器也不那么忙。不过,当我尝试查看我想抓取的网站,比如说这个 http://www.rottentomatoes.com/m/grigris/,通过查看元素(在Chrome中) > 网络 > XHR > 检查请求的URL和预览,我似乎没有找到任何有用的信息。
我是不是漏掉了什么?我怎么才能确认有没有原始或简化的信息藏在某个地方?以Rottentomatoes.com为例,我怎么判断是否有1)一个“私密页面”能提供电影的标题和年份,以及2)一个汇总页面(像csv格式)能“存储”所有电影的标题和年份在一个页面上?
1 个回答
0
你只能找到XHR请求,如果网页是动态加载数据的。在你的例子中,唯一值得注意的是这个网址:
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过滤器下看到请求了。