【spider】selenium模拟点击斗鱼示例
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模拟点击斗鱼示例相关推荐
- 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 ...
- 【Python】Selenium模拟点击网页下载文件
整个流程大致如下: 1.首先需要在http://chromedriver.storage.googleapis.com/index.html中下载chrome浏览器版本对应的驱动文件,可以在浏览器[设 ...
- python selenium模拟点击
文章目录 1.安装谷歌浏览器 2.安装浏览器驱动 3.安装selenium 4.简单测试 5.打卡程序 6.linux设置定时任务 7.其他 1.安装谷歌浏览器 #下载包 wget https://d ...
- python 自动点击上传以后上传文件,python使用selenium模拟点击网页实现自动导入上传文件功能...
一.环境准备 Python版本:3.4 编辑器:Pycharm excel文件:导入的excel模板 二.python代码 由于工作需要,需要每天定时导入相关excel文件进入后台数据库,由于导入的逻 ...
- java爬虫出发onclick事件_java爬虫(五)利用selenium 模拟点击获取动态页面的内容...
依赖的资源 1.ChromeDriver与Chrome版本对应参照表及ChromeDriver下载链接 http://npm.taobao.org/mirrors/chromedriver/ 2.Se ...
- 【Selenium】解决 无法模拟定位点击
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉. 本文章纯野生,无任何借鉴他人文章及抄袭等.坚持原创!! 前言 最近在利用Selenium做一些在浏览器上的自动 ...
- 爬虫——模拟点击动态页面
动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/u ...
- 使用selenium自动爬取斗鱼直播平台的所有房间信息
使用selenium自动爬取斗鱼直播平台的所有房间信息 文章目录 使用selenium自动爬取斗鱼直播平台的所有房间信息 使用selenium实现动态页面模拟点击 什么是selenium? selen ...
- python模拟网页点击_python模拟点击
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python怎么模拟点击网页按钮前提环境:python3 和 visual st ...
最新文章
- ThreadLocal源码分析
- 智能集群理论优化控制_无人机集群对抗研究的关键问题
- 继承中类以及成员变量初始化的讨论。
- “斐波那契数列”的两种算法
- bootstrap-datepicker default value
- .NET Core 2.1中改进的堆栈信息
- [GAN学习系列] 初识GAN
- Ubuntu 8.04下Netbeans的字体反锯齿解决(转)
- 解决IntelliJ IDEA在笔记本屏幕中部分界面显示不全被遮挡的问题
- css中属性选择器用法总结c
- angular 和 backbone 区别
- android 9.0极光推送闪退,推送导致应用闪退
- 微信怎么接龙?手把手教你使用微信群接龙功能
- zabbix-server仪表板出现: 不
- 第二课,绘制几何图形
- 关于UNIX环境高级编程(第2版)——图灵计算机科学丛书的读后感
- OneNote应用技巧
- 解决win10蓝牙搜索到小爱音箱无法连接问题
- 昆石VOS3000_2.1.6.0.0一键安装教程
- MySql 中 PK、NN、UQ、BIN、UN、ZF、AI、G分别代表什么意思