python基於selenium爬取鬥魚彈幕
針對彈幕的爬取我們如果隻需要獲取看到的網頁裡面的而數據,使用selenium就能實現,對於直播平臺來說,往往有第三方平臺api讓你獲取數據(可以獲取發彈幕,發彈幕者的名字禮物等等,這需要客戶端向彈幕服務器發送登錄請求,心跳信息的發送等等)隻獲取彈幕信息儲存到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爬取鬥魚彈幕的詳細內容,更多關於python 爬取鬥魚彈幕的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python+selenium對table表和分頁處理
- 使用selenium+chromedriver+xpath爬取動態加載信息
- python+selenium小米商城紅米K40手機自動搶購的示例代碼
- selenium動態數據獲取的方法實現
- Python-Selenium自動化爬蟲