針對彈幕的爬取我們?nèi)绻恍枰@取看到的網(wǎng)頁里面的而數(shù)據(jù),使用selenium就能實(shí)現(xiàn),對于直播平臺來說,往往有第三方平臺api讓你獲取數(shù)據(jù)(可以獲取發(fā)彈幕,發(fā)彈幕者的名字禮物等等,這需要客戶端向彈幕服務(wù)器發(fā)送登錄請求,心跳信息的發(fā)送等等)只獲取彈幕信息儲存到txt文件中,上代碼,上圖片
代碼如下:
import time from selenium import webdriver chrome_options = webdriver.ChromeOptions() # 使用headless無界面瀏覽器模式 # chrome_options.add_argument('--headless') # chrome_options.add_argument('--disable-gpu') prefs = {"profile.managed_default_content_settings.images": 2} chrome_options.add_experimental_option("prefs", prefs) browser = webdriver.Chrome(chrome_options=chrome_options) url = 'https://www.douyu.com/' def getDanmu(homeId): homeHref = url+str(homeId) browser.get(homeHref) while 1: time.sleep(2) try: for i in browser.find_elements_by_xpath('.//div[@class=" danmu-6e95c1"]/div/div'): if len(i.text) > 0: try: print(i.text) except: pass saveDanmu(i.text) else: continue except: time.sleep(2) for i in browser.find_elements_by_xpath('.//div[@class=" danmu-6e95c1"]/div/div'): if len(i.text) > 0: try: print(i.text) except: pass saveDanmu(i.text) else: continue def saveDanmu(danmu): with open('danmu.txt', 'a+', encoding='utf-8')as f: f.write(danmu+'\n') if __name__ == '__main__': num = input('請輸入需要查詢的房間號:') getDanmu(num)
以上就是python基于selenium爬取斗魚彈幕的詳細(xì)內(nèi)容,更多關(guān)于python 爬取斗魚彈幕的資料請關(guān)注腳本之家其它相關(guān)文章!
標(biāo)簽:海南 平頂山 哈爾濱 合肥 烏蘭察布 烏蘭察布 大慶 郴州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python基于selenium爬取斗魚彈幕》,本文關(guān)鍵詞 python,基于,selenium,爬取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。