使用selenium&phantomjs+bs4抓取斗鱼直播房间信息

简介: 使用selenium&phantomjs+bs4抓取斗鱼直播房间信息# -*- coding:utf-8 -*-from selenium import webdriverfrom bs4 import BeautifulSoupimport...

使用selenium&phantomjs+bs4抓取斗鱼直播房间信息

# -*- coding:utf-8 -*-

from selenium import webdriver
from bs4 import BeautifulSoup
import time


class DouyuSpider(object):
    def __init__(self):
        self.base_url = "https://www.douyu.com/directory/all"
        # 浏览器对象
        self.driver = webdriver.PhantomJS()
        # 房间总数
        self.count = 0
        # 总页数
        self.page = 1

    def send_request(self):
        self.driver.get(self.base_url)

        # 什么时候结束 class = shark-pager-disable-next 有则结束,没有则继续循环
        while True:
            print '正在下载第%d页' % self.page
            time.sleep(1)
            self.page += 1
            data = self.driver.page_source
            self.parse_data(data)

            # 字符串查找find shark-pager-disable-next
            if data.find('shark-pager-disable-next') != -1:
                break

            # 点击下一页,继续获取数据
            self.driver.find_element_by_class_name('shark-pager-next').click()

    def parse_data(self, data):
        bs = BeautifulSoup(data, 'lxml')

        # 解析
        # 房间名字
        home_list = bs.select('#live-list-content .ellipsis')
        # 主播名字
        name_list = bs.select('#live-list-content .dy-name')
        # 房间人气
        pop_list = bs.select('#live-list-content .dy-num')

        for home, name, pop in zip(home_list, name_list, pop_list):
            print home.get_text().strip()
            print name.get_text()
            print pop.get_text()

            self.count += 1

        print self.count


if __name__ == '__main__':
    spider = DouyuSpider()
    spider.send_request()
目录
相关文章
|
8月前
selenium--记录日志信息
selenium--记录日志信息
|
4月前
|
安全 测试技术 API
Selenium框架添加CONNECT以抓取https网站
Selenium框架添加CONNECT以抓取https网站
|
10月前
|
数据采集 Web App开发 存储
Java爬虫第五篇:使用selenium、Jsoup 抓取bing搜索图片
Java爬虫第五篇:使用selenium、Jsoup 抓取bing搜索图片
214 0
|
10月前
|
数据采集 Web App开发 存储
Java爬虫第四篇:使用selenium、Jsoup 抓取图片
Java爬虫第四篇:使用selenium、Jsoup 抓取图片
262 0
|
6月前
|
数据采集 前端开发 JavaScript
selenium 知网爬虫之根据【关键词】获取文献信息
selenium 知网爬虫之根据【关键词】获取文献信息
selenium 知网爬虫之根据【关键词】获取文献信息
|
9月前
|
数据采集 开发者
selenium 根据期刊信息获取知网文献信息 pt.1
selenium 根据期刊信息获取知网文献信息 pt.1
|
数据采集 JavaScript 测试技术
Python爬虫通过selenium自动化抓取淘宝的商品数据
淘宝的页面大量使用了js加载数据,所以采用selenium来进行爬取更为简单,selenum作为一个测试工具,主要配合无窗口浏览器phantomjs来使用。
684 0
|
11月前
|
数据采集 数据可视化 JavaScript
使用 Python/Selenium 抓取网站的 Power BI dashboard
Power BI可以帮助用户从不同来源的数据中提取信息,生成交互式报表和可视化仪表盘。Power BI dashboard是Power BI的一个重要组成部分,它可以将来自多个数据源的数据整合到一个面板上,为用户提供全面的数据洞察。通过Power BI dashboard,用户可以方便地查看关键指标的实时数据、分析趋势变化和发现隐藏在数据中的模式和趋势。重点是Power BI dashboard是使用 JavaScript 呈现的,因此在尝试抓取任何数据之前,需要确保页面已完成加载。可以使用 WebDriverWait 类等待某个元素出现在页面上,这是页面加载完成的良好指示。
198 0
|
Web App开发 前端开发 API
ajax-hook+ selenium抓取带参数的 Ajax 数据
ajax-hook+ selenium抓取带参数的 Ajax 数据
95 0
|
测试技术
软件测试|selenium常用页面信息对比方法expected_conditions
软件测试|selenium常用页面信息对比方法expected_conditions
147 0
软件测试|selenium常用页面信息对比方法expected_conditions

热门文章

最新文章