动态抓取之腾讯视频

今天我们聊一聊动态抓取,所谓的动态抓取其实就是我们在抓取网页数据的时候,要抓取的数据在查看网页源代码时是找不到对应的数据的,就比如我们今天要爬取的腾讯视频的VIP电影

腾讯视频

如上图所示,网页中有,但是在查看源代码时,源代码中没有;这事怎么回事呢,这其实就是因为它的数据是动态加载的,一般都是通过js代码来向服务器实时获取数据的,接下来我们就抓取一下这样的网站。

既然要获取数据,那我们肯定要先找到请求数据的代码在哪儿,打开Chrome浏览器的开发者工具,我们选中network选项

Chrome开发者工具

接着我们刷新一下我们要抓取的网页,可以看到下面多出来很多的东西,一般请求的代码都是在XHR或者JS中的,所以我们直接在这两项中去找,通过查找我们能看到如下结果:

看来就是这个文件请求的数据啦,接下来我们选择Headers查看它的请求地址

我们把这个请求链接复制下来,然后直接在浏览器中打开呢

看来确实是我们要找的内容,它的数据类型是一个json类型,所以我们只需要把数据抓取下来,然后解析就能够搞定啦!接下来开始写代码:

首先是抓取得到json数据:

# -*- coding:utf-8 -*-

import requests

url = 'http://list.video.qq.com/fcgi-bin/list_common_cgi?otype=json&novalue=1&platform=1&version=10000&intfname=web_vip_movie_new&tid=687&appkey=c8094537f5337021&appid=200010596&type=1&sourcetype=1&itype=-1&iyear=-1&iarea=-1&iawards=-1&sort=17&pagesize=30&offset=0&callback=jQuery19108734160972013745_1494380383266&_=1494380383271'

data = requests.get(url).content
print data
输出结果

数据抓取下来后接下来就是解析数据了,由于是json类型,所以我们导入json包来解析,首先利用正则表达式去除前面不相干的jQuery1910...那一串,只留下{"cgi_cost_time:...}的数据,从我们刚刚复制请求链接打开的网页结果可以看出,所要的数据是在{...;'jsonvalue':{...;'results':[...];...};...},也就是在字典中的key为jsonvalue的里面的,jsonvalue的值又是一个字典,又在这个字典里的key值为results里面才是真正的数据,而results对应的value是一个列表,分析清楚了接下来获取数据就简单了,直接上代码:

# -*- coding:utf-8 -*-

import requests
import json
import re

url = 'http://list.video.qq.com/fcgi-bin/list_common_cgi?otype=json&novalue=1&platform=1&version=10000&intfname=web_vip_movie_new&tid=687&appkey=c8094537f5337021&appid=200010596&type=1&sourcetype=1&itype=-1&iyear=-1&iarea=-1&iawards=-1&sort=17&pagesize=30&offset=0&callback=jQuery19108734160972013745_1494380383266&_=1494380383271'

data = requests.get(url).content
# print data

#正则表达式去除不相干数据
data = re.search(re.compile(r'jQuery.+?\((.+)+\)'),data)

if data is not None:

    a = json.loads(data.group(1))
    data = a['jsonvalue']['results']  #找到results这个列表


#遍历列表
for i in data:
    #列表中的值为字典,所以用字典取对应的值
    print u'电影名称:     '+i['fields']['title']
    print u'电影简介:     '+i['fields']['second_title']
    print u'电影封面:     '+i['fields']['vertical_pic_url']
    print u'电影评分:     '+i['fields']['score']['score']
    print u'电影ID:      '+i['id']
    print '\n'

输出结果

这样数据就得到了,当然这只是抓取了一页的内容,如果要抓取所有页,我们可以通过多点击几次网页的下一页,然后对比一下请求链接,你就能发现请求链接的规律

请求链接

通过对比可以发现,每增加一页,这个数字对应的增加30,所以只需要动态的改变请求链接,就能抓取所有的数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,494评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,045评论 25 707
  • 主人,我是你的大脑。就是那个你失败的时候,被你说“脑袋”不好的大脑。当别人成功了,你在说:“他脑子好聪明呀!我怎么...
    我的笔记阅读 783评论 0 0
  • 不知不觉中两个月的暑假已经结束了,总的来说我的暑假过的是比较好的。开始的时候本来是在徽州食府工作的,因为来了个长期...
    无需理由阅读 216评论 0 2
  • 假如我是一阵风我愿生在夏季拥抱蓝天和白云亲吻树叶和大地奔向海与那鲲鹏扶摇直上九万里化作细雨润人心
    谢勿念阅读 230评论 4 2