python3 网易云音乐评论走一波

音乐的评论相对来说有一丢丢困难,主要在于它嵌套的循环多一点,还多了个翻页,下面详细介绍:
思路:
1:由于评论的页数随着评论数目在不断增加,首先要匹配而歌曲总的页数
2:然后将页数作为for循环的最大循环次数,每循环一次都要翻页一次(模拟点击)
3:匹配出评论内容,并且写进去数据库
4:控制最外层循环就是循环歌曲的id,把匹配评论这部分内容打包成类,然后创建一个browser全局变量作为参数传进去

导入使用的模块:

from lxml import html
import time
from selenium import webdriver
import re
import csv
import pymysql
class Demo:

    comment_list = []  # 定义评论列表文件
    writer_list = []  # 定义评论者列表
    # 写入数据库
    conn = pymysql.connect(host='localhost' ,user = 'root',passwd =  '123456',db= 'wyy' ,charset = 'utf8mb4')
    curs = conn.cursor()


创建一个构造方法,将全局变量browser和url作为参数,保证在切换歌曲url的时候保持原来的浏览器窗口不变。浏览器等待的时间我是慢慢试出来的,如果时间过短的话网页加载不完,会抛错找不到contentFrame,在尝试的时候肯定是时间越短越好。

def __init__(self,browser,url):
    self.browser = browser
    time.sleep(2)
    self.browser.get(url)
    self.browser.implicitly_wait(65)
    try:
        self.browser.switch_to.frame('contentFrame')  # 进入frame
    except Exception as e:
        print(e)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值