python 爬取斗鱼 Ajax动态加载js分页 使用phontomjs无界面浏览器
来源:互联网 发布:cla 知乎 编辑:程序博客网 时间:2024/06/07 03:17
python2.7版本
#coding:utf8import unittestfrom selenium import webdriverfrom bs4 import BeautifulSoup as bsclass 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" : "ellipsis"}) # 观众人数, 返回列表 numbers = soup.find_all("span", {"class" :"dy-num fr"}) #主播id peoples = soup.find_all("span", {"class": "dy-name ellipsis fl"}) # zip(names, numbers) 将name和number这两个列表合并为一个元组 : [(1, 2), (3, 4)...] for name, number,people in zip(names, numbers,peoples): print u"观众人数: -" + number.get_text().strip() + u"-\t房间名: " + name.get_text().strip() + u"-\t主播名: " + people.get_text().strip() self.num += 1 #self.count += int(number.get_text().strip()) # 如果在页面源码里找到"下一页"为隐藏的标签,就退出循环 if self.driver.page_source.find("shark-pager-disable-next") != -1: break # 一直点击下一页 self.driver.find_element_by_class_name("shark-pager-next").click() # 测试结束执行的方法 def tearDown(self): # 退出PhantomJS()浏览器 print "当前网站直播人数" + str(self.num) print "当前网站观众人数" + str(self.count) self.driver.quit()if __name__ == "__main__": # 启动测试模块 unittest.main()
运行完结果:
阅读全文
0 0
- python 爬取斗鱼 Ajax动态加载js分页 使用phontomjs无界面浏览器
- python爬虫 使用selenium+phontomjs 模拟点击输入 获取东航加载后的源码 机票价格
- js+ajax 无刷新分页
- js+ajax 无刷新分页
- ajax动态加载js
- G Ajax无刷新分页加载数据
- AJAX 下拉无刷新分页加载
- python phontomjs爬虫项目 如何使用代理IP
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- 使用Ajax动态加载数据
- 【JS】使用JS动态加载
- js分页函数动态加载url
- 使用python抓取js动态加载的网页
- 使用python抓取js动态加载的网页
- jQuery+AJAX实现无刷新分页滚动下拉加载
- python 针对selenium+phontomjs等模拟浏览器爬虫的反爬技术点
- cannot be cast to org.springframework.web.accept.ContentNegotiationManager
- Android Paint 之 BitmapShader位图的图像渲染器
- 流计算与批量计算的对比
- Mac自定义隐藏或显示文件的快捷键
- Kotlin反射
- python 爬取斗鱼 Ajax动态加载js分页 使用phontomjs无界面浏览器
- 深度学习---基于空间金字塔池化的卷积神经网络物体检测
- Python解惑:整数比较 is ==的比较
- react-native-echarts 安卓版打包后,图表不显示
- java生成随机字符串(A-Z0-9)
- maven找jar包配置的网站,只需要搜索关键字即可找到需要的Jar包
- 查询
- 教务系统抢课程序的思路
- 从相册或拍照获取头像