import time
from selenium import webdriver
class YunSpider (object):
def __init__(self,url):
self.url = url
self.driver = webdriver.Chrome()
def getConnect(self):
#打开网址
self.driver.get(self.url)
#先进入IFrame
self.driver.switch_to_frame(0)
js = 'window.scrollBy(0,8000)'
self.driver.execute_script(js)
#翻页
for page in range(20):
selectors = self.driver.find_elements_by_xpath('//div[@class="cmmts j-flag"]/div')
for selector in selectors:
text = selector.find_element_by_xpath('.//div[@class="cnt f-brk"]').text
print(text)
#self.saveData(text)
YunSpider.saveData(text)
#找到下一页,然后点击
nextPage = self.driver.find_element_by_partial_link_text('下一页')
#点击下一页
nextPage.click()
time.sleep(0.5)
@staticmethod
def saveData(item):
#将爬取的评论保存在txt中
with open('wyypl.txt','a',encoding='utf-8') as f:
#f.write(item+'\n')
print(item,file=f)
if __name__ == '__main__':
#这首歌的网页播放地址
url = 'https://music.163.com/#/song?id=558071673'
yunSpider = YunSpider(url)
yunSpider.getConnect()