300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python抓取网易云音乐评论_Python 爬取网易云音乐评论

python抓取网易云音乐评论_Python 爬取网易云音乐评论

时间:2023-01-20 07:21:16

相关推荐

python抓取网易云音乐评论_Python 爬取网易云音乐评论

Python 爬取网易云音乐评论

刘瑞琦how_to_reg

24 天前

3 评论

326 浏览

import time,json

from selenium import webdriver

class Music(object):

# 初始化

def __init__(self, url):

self.url = url

self.driver = webdriver.Chrome()

# 打开浏览器

def get_url(self):

# 打开url

self.driver.get(self.url)

# 进入第一个格子

self.driver.switch_to.frame(0)

# 将滚动条拉倒底部

js = 'window.scrollBy(0,6666)'

self.driver.execute_script(js)

# 存放提取的内容

kw = []

# 第20页结束

for _ in range(0, 21):

# 获取数据

html = self.driver.find_elements_by_xpath('//div[@class="cmmts j-flag"]/div')

for i in html:

cover = i.find_element_by_xpath('.//div[@class="head"]/a/img').get_attribute('src')

uid = i.find_element_by_xpath('.//div[@class="head"]/a').get_attribute('href')

yes = i.find_element_by_xpath('.//div[@class="cnt f-brk"]').text

# 以json的形式输出

data = {

# 头像

'cover': cover.split('?')[0],

# ID

'uid': uid.split('=')[-1],

# 昵称

'name': yes.split(':')[0],

# 评论

'commit': yes.split(':')[1]

}

# 追加到空数组中

kw.append(data)

# 输出内容

print(data)

# 点击下一页

rang = self.driver.find_element_by_partial_link_text('下一页')

rang.click()

# 卡1秒防止内容未被加载出来

time.sleep(1)

# 保存

# with open(r'../Image.json', 'a', encoding='UTF-8')as f:

# f.write(json.dumps(kw, ensure_ascii=False, indent=4))

if __name__ == '__main__':

music = Music('/#/song?id=1441758494')

music.get_url()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。