目录

  • 说明
  • Code

说明

请使用爬虫Selenium模拟浏览器获取爬取QQ音乐中你喜欢的某位歌手(可以是任意歌手)最受欢迎的前5首歌曲的歌词、流派、歌曲发行时间、评论条数、评论时间、评论点赞次数、评论内容具体(每一首歌的评论>=500条)。

如下图所示:

歌词、流派、歌曲发行时间、评论条数保存在: music_info.csv文件中。
评论时间、评论点赞次数、评论内容具体保存在: comments_info.csv文件中。
统计每首歌的每个评论点赞次数保存在: series.csv文件中。

请按照如下形式组织代码:

Code

只需改main.py其他不用改。
红色框中,歌曲链接。

from crawler.yqq.get_info import get_music_info"""
main.py
"""# 存放文件的目录
path = r'D:\Study\Python'
# 歌曲的链接
url_list = ['https://y.qq.com/n/yqq/song/000T5eoR4YpW4t.html', 'https://y.qq.com/n/yqq/song/001afu2a1qjiik.html']
# 每个歌曲的评论页数
num_comment_page = [2, 2]
# 爬取睡眠时间, 建议长一点, 防止页面未加载
time_sleep = 5get_music_info(path, url_list, num_comment_page, time_sleep)
from selenium import webdriver
import time
from crawler.yqq.commentcrawler import get_commnets_praise
from crawler.yqq.info2csv import tocsv
from crawler.yqq.normalinfocrawler import normal_info"""
get_info.py
"""def get_music_info(path, url_list, num_comment_page, time_sleep=1):assert len(url_list) == len(num_comment_page), 'len(url_list) != len(num_comment_page)'music_dict = {'歌词': [], '流派': [], '歌曲发行时间': [], '评论条数': []}commnets_praise_dict = {'评论': [], '点赞数': [], '评论时间': []}driver = webdriver.Chrome()for i in range(len(url_list)):driver.get(url_list[i])time.sleep(time_sleep)m_d = normal_info(driver)for key in music_dict:music_dict[key].append(m_d[key])c_p_d_page = {'评论': [], '点赞数': [], '评论时间': []}for j in range(num_comment_page[i]):c_p_d = get_commnets_praise(driver)for key in c_p_d_page:c_p_d_page[key].extend(c_p_d[key])botton = driver.find_element_by_class_name('next')botton.click()time.sleep(time_sleep)for key in commnets_praise_dict:commnets_praise_dict[key].append(c_p_d_page[key])driver.close()tocsv(path, music_dict, commnets_praise_dict)# print(music_dict)# print(commnets_praise_dict)
import bs4"""
commentcrawler.py
"""def get_commnets_praise(driver):pageSource = driver.page_sourcesoup = bs4.BeautifulSoup(pageSource, 'html.parser')items = soup.find('ul', class_='js_all_list')info_dict = {'评论': [], '点赞数': [], '评论时间': []}for item in items.find_all('li'):info_dict['评论'].append(item.find('p', class_='js_hot_text').text)info_dict['点赞数'].append(item.find('span', class_='js_praise_num').text)info_dict['评论时间'].append(item.find('span', class_='c_tx_thin').text)return info_dict
import bs4
import re"""
normalinfocrawler.py
"""def normal_info(driver):pageSource = driver.page_sourcesoup = bs4.BeautifulSoup(pageSource, 'html.parser')data = soup.find('div', class_='main')info_dict = {'歌词': [], '流派': [], '歌曲发行时间': [], '评论条数': []}lyric = ''for p in data.find('div', class_='lyric__cont_box').find_all('p'):if p:lyric += p.textinfo_dict['歌词'].append(lyric)info_dict['流派'].append(data.find('li', class_='js_genre').text.split(':')[-1])info_dict['歌曲发行时间'].append(data.find('li', class_='js_public_time').text.split(':')[-1])info_dict['评论条数'].append(re.findall(r'\d+', data.find('a', class_='js_into_comment').text)[0])return info_dict
import pandas as pd"""
info2csv.py
"""def tocsv(path, music_dict, commnets_praise_dict):music_info = pd.DataFrame(columns=('歌词', '流派', '歌曲发行时间', '评论条数'))comments_info = pd.DataFrame(columns=('评论', '点赞数', '评论时间'))for key in music_dict:music_info[key] = (music_dict[key])for key in commnets_praise_dict:values = []for item in commnets_praise_dict[key]:values.extend(item)comments_info[key] = valuesmusic_info.to_csv(path + r'\music_info.csv', encoding='utf_8_sig')comments_info.to_csv(path + r'\comments_info.csv', encoding='utf_8_sig')ser = pd.Series()for i in range(len(commnets_praise_dict['点赞数'])):ser['song{}'.format(i)] = sum(list(map(int, commnets_praise_dict['点赞数'][i])))ser.to_csv(path + r'\series.csv', encoding='utf_8_sig')

Selenium模拟浏览器获取爬取QQ音乐歌词、评论等。相关推荐

  1. 【python】实验2项目2:使用爬虫Selenium模拟浏览器获取爬取QQ音乐中你喜欢的某位歌手(陈奕迅)

    请使用爬虫Selenium模拟浏览器获取爬取QQ音乐中你喜欢的某位歌手(可以是任意歌手)最受欢迎的前5首歌曲的歌词.流派.歌曲发行时间.评论条数.评论时间.评论点赞次数.评论内容具体(每一首歌的评论& ...

  2. 爬取qq音乐的评论并生成词云——以《听妈妈的话》为例

    爬取qq音乐的评论并生成词云 我们选取的是歌曲的周杰伦的 听妈妈的话 先看效果图 首先,我们进去qq音乐找到这首歌 网易云出来挨打 https://y.qq.com/n/yqq/song/002hXD ...

  3. python爬虫+网页点击事件+selenium模拟浏览器,爬取选股宝内容

    (一)PYTHON的安装(已安装,可跳过此步骤) 1.PYTHON下载 PYTHON官网:https://www.python.org/ 按照对应的系统下载,我这里是window系统,点击window ...

  4. python爬取歌词_Python如何爬取qq音乐歌词到本地

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 闲来无事听听歌,听到无聊唠唠嗑,你有没有特别喜欢的音乐,你有没有思考或者尝 ...

  5. selenium模拟 + 鼠标滚动爬取魔方公寓租房评论信息

    因为魔方公寓的评论信息是在一个单独的div中, 需要模拟鼠标滚动才能拿到评论信息, 并且每次只能拿到在页面显示的内容, 页面没有显示的取出来的是空. 因此只能在每次滚动后取值保存. 代码: impor ...

  6. python爬取qq音乐歌词风变编程_风变编程的Python课,让我离掌握编程又进了一步...

    零基础自学Python真的太难了!还好有风变编程. 今年疫情过后,意识到人工智能已是未来发展的大势所趋,我和办公室的几个小伙伴讨论了一下,决定用工作之余的时间学一学Python.然而,理想很美好,现实 ...

  7. 爬虫入门——爬取QQ音乐某一歌手前五首歌曲信息及相关评论

    文章目录 前言 一.查看信息 二.代码实现 总结 前言 python课作业 请使用爬虫Selenium模拟浏览器获取爬取QQ音乐中你喜欢的某位歌手(可以是任意歌手)最受欢迎的前5首歌曲的歌词.流派.歌 ...

  8. 使用selenium操控浏览器爬取QQ音乐

    环境python3.6,工具pycharm 首先安装selenium框架,下载selenium框架需要的webdriver驱动放在谷歌浏览器bin目录- 一.webdriver的安装 1.下载地址: ...

  9. 【Python爬虫实战】使用Selenium爬取QQ音乐歌曲及评论信息

    本文对使用到的技术仅做简单的介绍,若想了解更多,请前往相应的官网网站进行学习. 本文适合对爬虫相关知识接触不多的新手,主要是普及Selenium如何做爬虫,大佬请跳过. 1.Selenium简单介绍 ...

  10. selenium爬取qq音乐

    今日学习(解析selenium爬取qq音乐,附带解析数据) 点此查看原博客 爬取QQ音乐官网指定歌手的前5首歌曲的基本信息和前五百条热门评论: selenium中文网点此学习selenium 简而言之 ...

最新文章

  1. Jquery源码分析之匿名函数的自执行
  2. cygwin 在 windows 下的安装
  3. 11 为了进一步_小米11正式官宣!12月28号整装待发,这几点或成关键
  4. rbac权限管理5张表_PHP之常用的RBAC权限管理详解
  5. 巨头入局,华为云将给音视频行业带来什么?
  6. 误删了公司数据库,但我还是活下来了
  7. C语言购物篮解题思路,大型超购物篮问题分析数学建模.doc
  8. 广西桂林平均工资是多少?
  9. (转载)RESTORE DATABASE命令还原SQLServer 2005 数据库
  10. $.post 提交文件_PHP表单提交
  11. sql查询将字段值转换成汉字
  12. ElasticJob
  13. redis 实践笔记和源码分析
  14. html5 手机uc浏览器 复制链接,UC浏览器里任意复制粘贴文本的方法
  15. 遥感影像处理-NDVI
  16. 20221106EXCEL/腾讯文档 部分常用函数嵌套用法总结
  17. OpenCV计算图像像素最大值、最小值
  18. 仿微信拍照和图片选择开源库(适配android7.0)multi-image-selector
  19. Linux下升级jdk版本
  20. 数字化加速时刻,天津港解锁了“天工开物”新篇

热门文章

  1. 项目jar包启动的命令
  2. c语言程序员表白的语录,程序员一句话表白情书
  3. python里的平方_python中平方和
  4. 读《红楼梦》和《百年孤独》后关于爱、孤独和回忆的一点体会
  5. 字符串模式匹配——BF算法
  6. c 语言中析构函数,全面解析C++中的析构函数
  7. php脉聊交友源码_脉聊源码-PHP脉聊交友网站源码(附app源码)下载-西西软件下载...
  8. 《天才在左 疯子在右》读书记
  9. java 解压rar_java 解压rar文件
  10. 斐波那契数列python编程_fibonacci数列-斐波那契数列-python编程