标签:tco coding ase ble down soup 列表 webdriver zip
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import unittest
from selenium import webdriver
from bs4 import BeautifulSoup as bs
import time
class douyu(unittest.TestCase):
# 初始化方法,必须是setUp()
def setUp(self):
self.driver = webdriver.PhantomJS()
self.num = 0
self.count = 0
# 测试方法必须有test字样开头
def testDouyu(self):
self.driver.get("https://www.douyu.com/directory/all")
while True:
soup = bs(self.driver.page_source, "lxml")
# 房间名, 返回列表
names = soup.find_all("h3", {"class" : "DyListCover-intro"})
# 直播间热度, 返回列表
numbers = soup.find_all("span", {"class" :"DyListCover-hot"})
for name, number in zip(names, numbers):
self.num += 1
print(u"直播间热度: -" + number.get_text().strip() + u"-\t房间名: " + name.get_text().strip() + u‘-\t直播数量‘+ str(self.num))
#self.count += int(number.get_text().strip())
# 如果在页面源码里找到"下一页"为隐藏的标签,就退出循环
if self.driver.page_source.find("dy-Pagination-disabled dy-Pagination-next") != -1:
break
# 一直点击下一页
self.driver.find_element_by_class_name("dy-Pagination-next").click()
time.sleep(1)
# 测试结束执行的方法
def tearDown(self):
# 退出PhantomJS()浏览器
print("当前网站直播人数" + str(self.num))
print("当前网站总热度" + str(self.count))
self.driver.quit()
if __name__ == "__main__":
# 启动测试模块
unittest.main()
标签:tco coding ase ble down soup 列表 webdriver zip
原文地址:https://www.cnblogs.com/shuimohei/p/10500932.html