爬虫爬取百度搜索结果,python爬虫爬取歌曲

python抓取百度音乐mp3歌曲,目前成功率不是100%,因为我每首歌只抓一遍,没有去判断抓取成功情况和链接速度,

还有我取得歌曲名称的方式也有点不合适,对歌曲名称较长的歌曲来说去搜索来源有时候是搜捕到的,采用准确的歌曲名称后就没有这个问题了。

源代码实现如下:

#-*- coding: UTF-8 -*-

”’

Created on 2012-3-8

@author: tiantian

*** python

”’

import urllib

import re

top500 = ‘***/top/top500.html’

sOngs= []

def main():

divr = ‘<div .*?<ul.*?</ul>.*?<ul.*?</ul>.*?</div>’

mf = urllib.urlopen(top500)

cOntent= mf.read()

cOntent= content.decode(‘gbk’)

cOntent= re.sub(‘n+’,’ ‘,content)

alldiv = re.findall(divr,content)

i =0

for div in alldiv:

ulr = ‘<ul.*?</ul>’

allul = re.findall(ulr,div)

for ul in allul:

lir = ‘<li.*?</li>’

allli = re.findall(lir,ul)

for li in allli:

if i<245:

i = i+1

continue

i = i+1

sOngName= ‘<div >.*?<a.*?>(.*?)</a>.*?</div>’

name = re.findall(songName,li)

sOngAuthor= ‘<div >.*?<a.*?>(.*?)</a>.*?</div>’

author = re.findall(songAuthor,li)

songs.append([name[0],author[0]])

sOngUrl= getSongUrl(name[0],author[0])

try:

urllib.urlretrieve(songUrl,’songs/’+name[0]+’-‘+author[0]+’.mp3′)

# 异常检查并不能判断是否下载成功,需要进行其他判断

print i,name[0],author[0],’下载成功’

except Exception :

print i,name[0],author[0],’没下载成功’

def getSongUrl(songName,authorName):

”’这里由于歌曲名称和作者名称的不完整,可能导致无法得到url,”’

sOngUrl= ‘***/x?op=12&count=1&mtype=1&title=%s$$%s$$$$&url=&listenreelect=0&.r=0.1696378872729838’ % (urllib.quote(songName.encode(‘gbk’)),urllib.quote(authorName.encode(‘gbk’)))

f = urllib.urlopen(songUrl)

c = f.read()

url1 = re.findall(‘<encode>.*?CDATA[(.*?)]].*?</encode>’,c)

url2 = re.findall(‘<decode>.*?CDATA[(.*?)]].*?</decode>’,c)

if len(url1) <1:

return ‘***/unknow.mp3’

try:

return url1[0][:url1[0].rindex(‘/’)+1] + url2[0]

except Exception:

return url1[0]

if __name__ == ‘__main__’:

main()

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 3月 18日 下午12:53
下一篇 2023年 3月 18日 下午1:16

相关推荐

  • 相同配置的电脑可以互用ghost吗

    在上期封装系统的文章中,很多同学留言问“硬件完全一样的多台电脑能不能直接ghost对拷?”,就结果来说是可以的,每台电脑都可以运行,那么封装的意义何在? 首先,在家庭中,封装系统没…

    2023年 9月 19日
  • 3.css样式的三种使用方式是什么

    1.内链样式表 内联样式,又有人称行内样式、行间样式、内嵌样式。是通过标签的style属性来设置元素的样式,其基本语法格式如下: <!DOCTYPE html><…

    2023年 7月 19日
  • 阿狸新皮肤灵魂莲华多少钱(lol阿狸哪个皮肤有特效而且又好)

    10.15版本在外服正式更新后,10.16版本也立刻上线了测试服,在这次新版本中,拳头继续发布了灵魂莲花系列皮肤第二弹,目前这套皮肤作为夏季节日活动将持续大约两个版本,可以说是LO…

    2023年 10月 27日
  • cad可以测量长度吗

    我们在用CAD绘图的时候,经常需要测量各种各样的数据,长度的测量就是很常见的一种,不过有时候要测量的对象却不是一条直线那么简单,遇到一些特殊的情况就必须要掌握一些小技巧啦,今天小编…

    2023年 1月 5日
  • 质地清爽的维c,自制维c的精华

    三月末, 气温回暖,万物复苏, 外出踏春时,总有雾霾这个碍事的阻挡了脚步。雾霾会影响人们呼吸道健康,还会加重皮肤的自由基反应对皮肤造成伤害,导致出现皮肤老化、色素沉着等一系列问题。…

    2022年 12月 25日
  • 无线网络经常太慢?这样设置信道网速最快吗

    对于一些大中型无线覆盖项目,牵涉到信道规划不合理,同频干扰等问题,都会造成网络延时和网络不稳等问题发生,信道的选择至关重要,合适的信道规划可以减少网络的干扰与不稳定。 这里介绍关于…

    2023年 11月 26日
  • 警方提醒开学季这些套路

    临近开学季 同学们又将陆续回到校园 此时,大家的警惕心 可千万不能松懈 真实案例 近日,身为班主任的李老师正在为新学期做准备工作时,突然接到一位家长的电话,对方在电话里非常着急说:…

    2023年 9月 8日
  • wi-fi密码如何修改才不会被蹭网

    在装修或者换路由器的时候,总是要面对一个问题:设的密码太简单,容易被骇客「社工」甚至暴力破解,进而拖慢上网速度;而设得太复杂,又可能让来家里做客的朋友们输入起来太头疼。毕竟,普通的…

    2023年 3月 5日
  • qq停止部分服务

    不知道有多少打工人因为初入社会的缘故,被迫从 QQ 换成了微信。这种更换聊天工具的行为,或许便是新时代的断舍离吧! 在更换微信之后,黑马一开始是哪哪都不习惯,没办法,相比于微信,Q…

    2022年 12月 27日
  • qq盗号常用语

    近日,有大量用户通过社交平台反馈称,自己或朋友的QQ号出现被盗号的情况,收到多个朋友发来的不良图片。 6月27日,腾讯QQ官微发布声明称:6月26日晚上10点左右,收到部分用户反馈…

    2023年 5月 26日