Python爬虫实战--斗鱼直播爬虫
生活随笔
收集整理的這篇文章主要介紹了
Python爬虫实战--斗鱼直播爬虫
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言:
稍微總結一下前面我們所學到的內容吧!在前面的實戰(zhàn)學習中,我們學會如何使用requests來獲取網頁源碼,并從中提取出我們所需要的數據, 那接下來,我們也將進一步學會使用selenium獲取網頁,分析網頁,和提取數據。
目標站點分析
目標URL:https://www.douyu.com/directory/all
明確內容:
本次爬蟲實戰(zhàn)里,我們將要爬取斗魚網站上面所有的房間信息,并提取我們的目標數據:房間名,房間鏈接,房主,房間分類,觀看人數等紅色方框中的數據。
翻頁策略:
之前講過,我們在翻頁是,有三種操作模式:
1.直接查找頁面之間的聯(lián)系,如:/pnXX/,這只需要XX遞增,便可以遍歷所有的頁面了
2.對于AJAX加載的頁面,我們需要找到接口,并請求它,獲取頁面信息,如新浪微博
3.通過找到,下一頁的按鈕,再使用selenium,點擊按鈕,完成翻頁
這里我們可以采用第三種,來獲取下一頁的頁面信息
提取數據
def get_room_info(self):li_list = self.driver.find_elements_by_xpath("//ul[@id='live-list-contentbox']/li")item_list = []for li in li_list:room_name = li.find_element_by_xpath("./a").get_attribute("title")room_link = li.find_element_by_xpath("./a").get_attribute("href")room_img = li.find_element_by_xpath("./a/span/img").get_attribute("src")room_category = li.find_element_by_xpath(".//span[@class='tag ellipsis']").textroom_author = li.find_element_by_xpath(".//span[@class='dy-name ellipsis fl']").textwatch_number = li.find_element_by_xpath(".//span[@class='dy-num fr']").textitem = dict(room_name=room_name,room_link=room_link,room_img=room_img,room_category=room_category,room_author=room_author,watch_number=watch_number,)item_list.append(item)# print(item)return item_list戰(zhàn)果展示
還是留個小作業(yè)吧~請大家進一步完善代碼,并將提取的數據存入到數據庫中。
源碼地址:https://github.com/NO1117/Douyu_Spider
Python交流群:942913325 歡迎大家一起交流學習
總結
以上是生活随笔為你收集整理的Python爬虫实战--斗鱼直播爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux进程间通信(管道、消息队列、共
- 下一篇: python 直播源地址_斗鱼直播间真实