importthreadingfrom selenium importwebdriverfrom collections importdeque

songList=set([]);

playList=set([]);#歌单

defchrome_browser_songList(url,browser):

browser.get(url)

play_count= browser.find_element_by_id('play-count').textif(int(play_count)>10000):

data='\n'+browser.find_element_by_class_name('f-ff2').text+'评论数:'+str(play_count)+'地址:'+url

save_file(data,'D:\\songList.txt')

songQueue=deque()try:#a[href^=\/song]

for each in browser.find_elements_by_css_selector('a[href^=\/song]'):try:print("歌曲名字: %s 地址 %s" % (each.text, each.get_property('href')))

songQueue.append(each.get_property('href'))except:continue

except:print('someerror')

song_queue(songQueue,browser)#寻找歌单

playListQueue =deque()try:for each in browser.find_elements_by_css_selector('a[href^=\/playlist]'):try:print("歌单: %s 地址 %s" % (each.text, each.get_property('href')))

playListQueue.append(each.get_property('href'))except:continue

except:print('someerror')

browser.close()

browser= webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')

play_list_queue(playListQueue,browser)#browser.close()#歌曲

defchrome_browser_song(url):

browser= webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')

browser.get(url)

browser.switch_to_frame('g_iframe')

comment_count= browser.find_element_by_id('cnt_comment_count').textif(int(comment_count)>10000):

data= '\n歌曲名字:'+browser.find_element_by_class_name('f-ff2').text+'歌手:'+browser.find_element_by_css_selector('a[href^=\/artist]').text+'评论数:'+comment_count+'歌曲地址:' +url;

save_file(data,'D:\\song.txt')

browser.close()#保存文件

defsave_file(data,file):

save_path=file

f_obj= open(save_path, 'a')

f_obj.write(data)

f_obj.close()#歌队列

defsong_queue(songQueue,browser):whilesongQueue:

current_url=songQueue.popleft()if current_url not insongList:

songList.add(current_url)try:

chrome_browser_song(current_url)except:continue

#歌单队列

defplay_list_queue(listQueue,browser):whilelistQueue:

current_url=listQueue.popleft()if current_url not inplayList:

playList.add(current_url)try:

chrome_browser_songList(current_url,browser)except:continueurl_list=['http://music.163.com/playlist?id=598057191','http://music.163.com/#/playlist?id=144236857',

]defthread_1():

url=url_list[0]

browser= webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')

chrome_browser_songList(url, browser)defthread_2():

url= url_list[1]

browser= webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')

chrome_browser_songList(url, browser)#多线程

defthread_song():

threads=[]

t1= threading.Thread(target=thread_1)

threads.append(t1)

t2= threading.Thread(target=thread_2)

threads.append(t2)returnthreadsif __name__ == '__main__':#url = url_list[1]

#browser = webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')

#chrome_browser_songList(url, browser)

threads =thread_song()for t inthreads:

t.setDaemon(True)

t.start()

t.join()

python网易云收费_python网易云音乐抓取相关推荐

  1. python和人工智能爬虫_Python 演示人工智能爬虫 抓取新浪微博数据

    时间:2019-04-10 概述:搜索爬虫 人工智能 一个Python 人工智能爬虫演示,本代码演示抓取新浪微博数据,若正在采集新浪微博数据,如需取消请按CTRL+C 退出程序. #!/usr/bin ...

  2. 尹成python爬虫百度云_Python爬虫实战:抓取并保存百度云资源

    寻找并分析百度云的转存api 首先你得有一个百度云盘的账号,然后登录,用浏览器(这里用火狐浏览器做示范)打开一个分享链接.F12打开控制台进行抓包.手动进行转存操作:全选文件->保存到网盘-&g ...

  3. python爬虫提取教学_python爬虫的基本抓取

    1.创建一个爬虫项目 在项目中新建middlewares.py文件(./项目名/middlewares.py) 2.使用代理服务器 采集大量数据时,最好使用代理.防止IP被封,下载次数受限等. # 代 ...

  4. 小猪的Python学习之旅 —— 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中

    小猪的Python学习之旅 -- 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中 标签:Python 一句话概括本文: 利用Excel存储爬到的抓取豆瓣音乐Top 250数据信息,还有 ...

  5. python的web抓取_python实现从web抓取文档的方法

    本文实例讲述了Python实现从Web的一个URL中抓取文档的方法,分享给大家供大家参考.具体方法分析如下: 实例代码如下: import urllib doc = urllib.urlopen(&q ...

  6. python爬虫怎么爬同一个网站的多页数据-如何用Python爬数据?(一)网页抓取

    如何用Python爬数据?(一)网页抓取 你期待已久的Python网络数据爬虫教程来了.本文为你演示如何从网页里找到感兴趣的链接和说明文字,抓取并存储到Excel. 需求 我在公众号后台,经常可以收到 ...

  7. Python 3.X 要使用urllib.request 来抓取网络资源。转

    Python 3.X 要使用urllib.request 来抓取网络资源. 最简单的方式: #coding=utf-8 import urllib.request response = urllib. ...

  8. python爬网站数据实例-如何用Python爬数据?(一)网页抓取

    如何用Python爬数据?(一)网页抓取 你期待已久的Python网络数据爬虫教程来了.本文为你演示如何从网页里找到感兴趣的链接和说明文字,抓取并存储到Excel. 需求 我在公众号后台,经常可以收到 ...

  9. python 爬虫 网易云音乐 抓取

    网络中音乐的爬取对于爬虫来说 不是vip大部分是url拼接就能得到,抓取中不同的一个首页中url中详情页中网页结构不同提取方式也有所不同-直接上代码 import requests from bs4 ...

  10. python3爬取网易云歌单数据清洗_网页抓取网易云音乐及评论数据分析

    网页抓取网易云音乐及评论数据分析 游贤 成都理工大学信息科学与技术学院 [摘 要] 摘要:为了分析网易云音乐中哪些歌曲是热门歌曲,哪些歌曲的评论 最多,从而了解到人们对于不同音乐类型的喜爱程度,采用成 ...

最新文章

  1. FoveaBox:目标检测新纪元,无Anchor时代来临 | 技术头条
  2. 从虚拟化、统一映射和自动化看09年法规遵从趋势
  3. 大学计算机基础课程报告python-Python程序设计习题解析(大学计算机基础教育规划教材)...
  4. css实现页面文字不换行、自动换行、强制换行
  5. SwipeRefreshLayout里面需要注意的Api
  6. VMWare 安装 Eclipse
  7. .NET Core 批量重置 Azure Blob Storage 的 mime type
  8. css无效 https_【CSS非全解02】CSS基础-文档流
  9. linux 清空进程recv q,Linux中ss命令Recv-Q和Send-Q详解
  10. PCL——连接两个点云的字段
  11. 移动端ajax,移动端ajax请求问题?
  12. 微信资源混淆AndResGuard原理
  13. 更改配置本地host地址
  14. 下载网页TS流视频无需手动合并
  15. 百度实时主动推送url
  16. IDEA-自定义常用代码块
  17. 机器学习吴恩达课程总结(一)
  18. python—计算矩阵标准差
  19. 安卓android按宽/高缩放图片到指定大小并进行裁剪得到中间部分图片
  20. python3+selenium爬取笔记本电脑详情信息

热门文章

  1. pe_xscan做了几个改动
  2. unix文件中i节点
  3. 自建服务器解网络锁,掌握iPhone1-4代刷机技巧
  4. Android Palette吸色原理及源码解析
  5. pp助手苹果版本_曾经iOS一代越狱神奇器,PP助手宣布凉凉
  6. Vue进阶(贰零陆):Vue 培训课件
  7. spring boot设置http https端口
  8. 计算机装机 基础知识,电脑diy硬件基础知识 菜鸟装机必看! (全文)
  9. @JsonView注解的使用
  10. 测试两个主机之间的连通性_如何使用知行EDI系统模拟连通性测试?