1. 首页
  2. 未分类

小白都能学会的Python爬虫网易云音乐

“u003Cdivu003Eu003Cpu003Eu003Cstrongu003E配置基础u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003Epythonu003Cu002Fpu003Eu003Cpu003ESeleniumu003Cu002Fpu003Eu003Cpu003EChrome浏览器(其它的也可以,需要进行相应的修改)u003Cu002Fpu003Eu003Ch1u003Eu003Cstrongu003E发现有很多想要学习Python却不知道如何下手的朋友,我这里整理了一些关于Python的学习资料,从基础到入门到实战都有!有需要的朋友可以关注并私信“01”免费获取…u003Cu002Fstrongu003Eu003Cu002Fh1u003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fdfic-imagehandleru002Fa4c78019-b7a9-4190-861c-898a2441f3f6″ img_width=”1024″ img_height=”1024″ alt=”小白都能学会的Python爬虫网易云音乐” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003Eu003Cstrongu003E分析u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003E如果爬取过网易云的网站的小伙伴都应该知道网易云是有反爬取机制的,POST时需要对一些信息的参数进行加密函数的模拟。但是这里为了简便,小白也能理解。直接使用了Selenium来模拟登录,然后使用接口来直接下载音乐和歌词。u003Cu002Fpu003Eu003Cpu003Eu003Cstrongu003E实验步骤u003Cu002Fstrongu003E:u003Cu002Fpu003Eu003Cpu003E1、根据歌手ID获取该歌手的热门歌曲列表,歌曲名称和链接,并保存到csv文件中;u003Cu002Fpu003Eu003Cpu003E2、读取csv文件,根据歌曲链接,提取歌曲ID,然后利用相应的接口,下载音乐和歌词;u003Cu002Fpu003Eu003Cpu003E3、将音乐和歌词保存到本地。u003Cu002Fpu003Eu003Cp class=”ql-align-center”u003Eu003Cbru003Eu003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp9.pstatp.comu002Flargeu002Fpgc-imageu002F92a89fa9519f4ac2ae87f3b0c39fc65d” img_width=”835″ img_height=”558″ alt=”小白都能学会的Python爬虫网易云音乐” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cp class=”ql-align-center”u003Eu003Cbru003Eu003Cu002Fpu003Eu003Cpu003Eu003Cstrongu003EPython实现u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003E获取歌手信息u003Cu002Fpu003Eu003Cpu003E利用Selenium我们就不需要看对网页的请求了,直接可以从网页源码中提取相应的信息。查看歌手页面源码可以发现,我们需要的信息在iframe框架内,所以我们先需要切换到iframe:u003Cu002Fpu003Eu003Cpu003Ebrowser.switch_to.frame(‘contentFrame’)u003Cu002Fpu003Eu003Cpu003E继续往下看,发现我们需要的歌曲名字和链接是在id=”hotsong-list”的标签中,然后每一行对应的是一个tr标签。所以先获取所有的tr内容,然后遍历单个tr。u003Cu002Fpu003Eu003Cpu003Edata = browser.find_element_by_id(“hotsong-list”).find_elements_by_tag_name(“tr”)u003Cu002Fpu003Eu003Cpu003E注意:前一个是find_element,后一个是find_elements,后者返回一个列表。u003Cu002Fpu003Eu003Cpu003E接下来就是解析单个tr标签的内容,获取歌曲名字和链接,可以发现两者在class=”txt”标签中,而且链接是href属性,名字是title属性,可以直接通过get_attribute()函数获取。u003Cu002Fpu003Eu003Cpu003Eu003Cstrongu003E完整代码u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cp class=”ql-align-center”u003Eu003Cbru003Eu003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002Ff2d0c747974c4d96b5803179b80bd1ad” img_width=”1234″ img_height=”1618″ alt=”小白都能学会的Python爬虫网易云音乐” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cp class=”ql-align-center”u003Eu003Cbru003Eu003Cu002Fpu003Eu003Cu002Fdivu003E”

原文始发于:小白都能学会的Python爬虫网易云音乐

主题测试文章,只做测试使用。发布者:熱鬧獨處,转转请注明出处:http://www.cxybcw.com/18233.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code