#-*-coding:utf-8-*- #V9根据甲方的需求针对QQ音乐韩国NMET榜进行数据澄清,凡是在QQ音乐韩国NMET榜中某一期出现过的歌曲无论是否已存在数据库,都丰富其榜单信息 import urllib2# 使用库: urllib2 from mydbV1 import MydbV1 dbV1 = MydbV1.instance() QQ_boundary=[ [1,179], [2,344], [4,94], [5,355], [6,86], [7,95], [9,306], [12,263], [13,170], [14,55], [17,18], [18,19] ]#根据甲方需求出的二维数组 TOP_name=["QQ音乐KTV榜","QQ音乐ChannelV榜","QQ音乐日本公信榜","QQ音乐韩国NMET榜","QQ音乐英国UK榜","QQ音乐美国公告牌-hot100榜","QQ音乐幽浮劲碟榜","QQ音乐ituns榜","QQ音乐香港商业电台榜","QQ音乐中国TOP排行榜","QQ音乐雪碧音碰音榜","QQ音乐MTV光荣榜"] for top in range(3,4):#从第1类TOP到第12类TOP #第一类榜单爬到了112号,手贱把VPN断了,不开VPN确实快很多 #第七类榜单爬到306号,需要一个抛异常机制,同时把漏网之鱼写入日志 for volume in range(1,QQ_boundary[top][1]):#从第一期到最近一期 print 'Top='
#-*-coding:utf-8-*- #V7根据甲方需求抓百度音乐本期榜 import urllib2 # 使用库: urllib2 import re from mydbV1 import MydbV1 dbV1 = MydbV1.instance() Top_dict = { 'huayu': '百度华语金曲榜', 'oumei': '百度欧美金曲榜', 'yingshijinqu': '百度影视金曲榜', 'lovesong': '百度情歌对唱榜', 'netsong': '百度网络歌曲榜', 'oldsong': '百度经典老歌榜', 'rock': '百度摇滚榜', 'dayhot': '百度热歌榜TOP500', 'new': '百度新歌榜TOP100', } for key in Top_dict: #从第1类TOP到第12类TOP print 'Top=' print Top_dict[key].decode('utf-8') request = urllib2.Request(url="http://music.baidu.com/top/" + key) # 使用urllib2创建一个访问请求, 指定url为"http://www.baidu.com/", 并且把访问请求保存在request这个变量里面 all_the_text = urllib2.urlopen(request).read() # 使用urllib2打开request这个请求(通过urlopen()函数), 并且读取数据(使用read()函数), 把结果保存在result这个变量里面 mark = 's:' #这里的mark变了 segment = '|' #分隔符 startPos = 0