from selenium import webdriver
import  timeurl = 'https://www.douyu.com/directory/all'# 动态html网页加载可能出现的问题:element is not attached to the page document
# 标签没有及时的加载显示出来,如果加载时间不够,可能报错
# try exceptclass Douyu(object):def __init__(self):self.driver = webdriver.Chrome()def start(self):self.driver.get(url)time.sleep(2)self.driver.find_element_by_class_name('pop-zoom-close').click()fp = open('douyu.txt', 'w', encoding='utf-8')with open('douyu.html','w',encoding='utf-8') as file:file.write(self.driver.page_source)while False:titles = self.driver.find_elements_by_css_selector('h3.ellipsis')nums = self.driver.find_elements_by_xpath('//span[@class="dy-num fr"]')print(len(titles),len(nums))for title,num in zip(titles[10:],nums):print('标题是:%s,观战人数:%s'%(title.text.strip(),num.text.strip()))fp.write('标题是:%s,观战人数:%s'%(title.text.strip(),num.text.strip())+'\n')'''<a href="#" class="shark-pager-next shark-pager-disable shark-pager-disable-next">下一页</a><a href="#" class="shark-pager-next">下一页</a>'''# 如果没有找到flag = -1# 找到了,返回索引值flag = self.driver.page_source.find('shark-pager-disable-next')if flag != -1:break# 选中的当前页码'''<a href="#" class="shark-pager-item current">1</a>'''current_page = self.driver.find_element_by_xpath('//a[@class="shark-pager-item current"]').textprint('当前页码是:',current_page)try:self.driver.find_element_by_class_name('shark-pager-next').click()time.sleep(2)except:time.sleep(2)# 点击进入最后一页# xpath多重条件查询,直接后面添加[][]self.driver.find_element_by_xpath('//a[contains(@class,"shark-pager-item")][last()]').click()fp.close()time.sleep(10)self.driver.quit()if '__main__' == __name__:douyu = Douyu()douyu.start()

【spider】selenium模拟点击斗鱼示例相关推荐

  1. hxp 36C3 CTF Web题 WriteupBin Writeup (Selenium模拟点击+Content Security Policy+Nonce+Parsley.js触发错误提示)

    WriteupBin – A web challenge from hxp 36C3 CTF https://ctftime.org/event/825 题目部署 本地搭建: 解压WriteupBin ...

  2. 【Python】Selenium模拟点击网页下载文件

    整个流程大致如下: 1.首先需要在http://chromedriver.storage.googleapis.com/index.html中下载chrome浏览器版本对应的驱动文件,可以在浏览器[设 ...

  3. python selenium模拟点击

    文章目录 1.安装谷歌浏览器 2.安装浏览器驱动 3.安装selenium 4.简单测试 5.打卡程序 6.linux设置定时任务 7.其他 1.安装谷歌浏览器 #下载包 wget https://d ...

  4. python 自动点击上传以后上传文件,python使用selenium模拟点击网页实现自动导入上传文件功能...

    一.环境准备 Python版本:3.4 编辑器:Pycharm excel文件:导入的excel模板 二.python代码 由于工作需要,需要每天定时导入相关excel文件进入后台数据库,由于导入的逻 ...

  5. java爬虫出发onclick事件_java爬虫(五)利用selenium 模拟点击获取动态页面的内容...

    依赖的资源 1.ChromeDriver与Chrome版本对应参照表及ChromeDriver下载链接 http://npm.taobao.org/mirrors/chromedriver/ 2.Se ...

  6. 【Selenium】解决 无法模拟定位点击

    此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉. 本文章纯野生,无任何借鉴他人文章及抄袭等.坚持原创!! 前言 最近在利用Selenium做一些在浏览器上的自动 ...

  7. 爬虫——模拟点击动态页面

    动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/u ...

  8. 使用selenium自动爬取斗鱼直播平台的所有房间信息

    使用selenium自动爬取斗鱼直播平台的所有房间信息 文章目录 使用selenium自动爬取斗鱼直播平台的所有房间信息 使用selenium实现动态页面模拟点击 什么是selenium? selen ...

  9. python模拟网页点击_python模拟点击

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python怎么模拟点击网页按钮前提环境:python3 和 visual st ...

最新文章

  1. ThreadLocal源码分析
  2. 智能集群理论优化控制_无人机集群对抗研究的关键问题
  3. 继承中类以及成员变量初始化的讨论。
  4. “斐波那契数列”的两种算法
  5. bootstrap-datepicker default value
  6. .NET Core 2.1中改进的堆栈信息
  7. [GAN学习系列] 初识GAN
  8. Ubuntu 8.04下Netbeans的字体反锯齿解决(转)
  9. 解决IntelliJ IDEA在笔记本屏幕中部分界面显示不全被遮挡的问题
  10. css中属性选择器用法总结c
  11. angular 和 backbone 区别
  12. android 9.0极光推送闪退,推送导致应用闪退
  13. 微信怎么接龙?手把手教你使用微信群接龙功能
  14. zabbix-server仪表板出现: 不
  15. 第二课,绘制几何图形
  16. 关于UNIX环境高级编程(第2版)——图灵计算机科学丛书的读后感
  17. OneNote应用技巧
  18. 解决win10蓝牙搜索到小爱音箱无法连接问题
  19. 昆石VOS3000_2.1.6.0.0一键安装教程
  20. MySql 中 PK、NN、UQ、BIN、UN、ZF、AI、G分别代表什么意思

热门文章

  1. 《那些年啊,那些事——一个程序员的奋斗史》转载1到7
  2. FLV文件格式(Z)(转载)
  3. 宏块帧内预测的具体过程
  4. 《 Docker 进阶与实战 》 读书笔记
  5. FormsAuthenticationTicket基于forms的验证
  6. 函数对象 函数嵌套 名称空间与作用域
  7. 关于在smarty中实现省市区三级联动
  8. 神奇的pdfkit工具——将字符串保存为pdf文件
  9. 133. Clone Graph
  10. day 05 多行输出与多行注释、字符串的格式化输出、预设创建者和日期