扒取优酷指数的小程序

实验室的需要,写了一个扒取优酷指数的小程序,比如http://index.youku.com/vr_keyword/id_http://v.youku.com/v_show/id_XNTYyNzY5NTA4.html这个网页内曲线代表的数据。由于曲线里的数据都是javascript动态生成的,所以如果用urllib就会出现读不出数据的情况,于是改写了下面几句代码。

import httplib
conn=httplib.HTTPConnection("index.youku.com",80,False)
conn.request('GET','/vr_keyword/id_6ZmG6LSe5Lyg5aWH',headers={"User-Agent":"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5","Accept":"text/html, application/xhtml+xml, */*","Accept-Language":"en-US","Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive",'Cookie':'__ysuid=13695777573743Dw; JSESSIONID=abcy3u65BkwCYdYyhRM7t'})
res = conn.getresponse()
print res.read()

第一行导入httplib库,这个库是python包装的http协议库,有了它就可以简单实现http协议根服务器通信了

第二行,建立根服务器的连接,这里跟index.youku.com服务器通信,端口80,False那个不知道啥意思。。。。

第三行,进行请求,这里是请求网页的GET,内容是在服务器下的相对页面,header是从浏览器开发界面得到的,完全仿照了我自己的登陆,包括使用了我的cookie,以后可以试试动态生成的cookie免得禁止扒取

第四行就是从服务器请求返回,就是返回页面

打印出来之后页面中就会有

var allnetData = eval('('+'[{"name":"陆贞传奇","search":["2013-05-27","2013-01-18",["217941","249588","257086","192852","0","181738","171284","173245","199396","219329","191940","161695","143847","132541","141526","163943","161993","161757","156642","148661","101471","70919","24924","7746","5349","4940","5143","5829","5306","3876","2514","1976","1636","868","530","481","237","250","279","200","237","210"

这样的json,读就可以了,正则表达式,html分析什么的都可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值