代码

  1. # 参考:https://blog.csdn.net/johnchiao/article/details/83959089
  2. #!/usr/bin/python
  3. # -*- coding: <encoding name> -*-
  4. import time
  5. from selenium import webdriver
  6. import re
  7. comment_list = [] # 定义评论列表文件
  8. browser = webdriver.Chrome()
  9. url = 'https://music.163.com/song?id=168091' # 输入需要抓取网易音乐的单曲页面
  10. browser.get(url)
  11. browser.implicitly_wait(5)
  12. browser.switch_to.frame('contentFrame') # 进入frame
  13. for x in range(6): # 64是需要抓取的页面总数***
  14. button = browser.find_element_by_link_text('下一页') # 通过找到‘下一页’的按钮进行翻页
  15. time.sleep(2)
  16. #print(button.text)
  17. aa = browser.find_elements_by_xpath('//div/div[2]/div[1]/div[1]') # 定位评论文字
  18. for i in aa:
  19. #print(i.text)
  20. a = re.search(':', i.text) # 通过正则表达式进行“:”定位,得出左边是评论者,这个要去掉
  21. #print(a)
  22. if a:
  23. n = i.text.index(':') + 1
  24. m = i.text[n:] # 只保留从“:”右边的文字,就是纯正的评论文字
  25. comment_list.append(m)
  26. else:
  27. #comment_list.append('')
  28. print('继续工作......')
  29. print('抓取了>>>>' + str(x) + '<<<<页')
  30. button.click() # 自动进行“下一页”的按钮
  31. with open('F:/music/music.txt','a',encoding = 'utf-8') as f: # 保存文本文件
  32. f.write(str(comment_list))

遇到的问题

webdrive

https://sites.google.com/a/chromium.org/chromedriver/home
1.我的浏览器
image.png
2.下载的webdriver
image.png
3.

image.png

button.click()

image.png

成功结果

image.png

如何获取xpath

绝对路径

image.png

属性值

image.png
image.png

其他方法

https://www.cnblogs.com/longronglang/p/6220315.html