当前位置: 首页 > news >正文

Python爬虫(二十三)_selenium案例:动态模拟页面点击

在这里插入图片描述

本篇主要介绍使用selenium模拟点击下一页,更多内容请参考:Python学习指南

#-*- coding:utf-8 -*-import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import timeclass douyuSelenium(unittest.TestCase):#初始化方法def setUp(self):self.driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])#具体的测试用例方法,一定要以test开头def testDouyu(self):self.driver.get("http://www.douyu.com/directory/all")while True:#指定xml解析soup = BeautifulSoup(self.driver.page_source, "lxml")#返回当前页面的所有房间标题列表和观众人数列表titles = soup.find_all('h3' , {'class':"ellipsis"})print(len(titles))nums = soup.find_all('span', {'class': "dy-num fr"})# #使用zip()函数把列表合并,并创建一个远相对的列表[(1, 2), (3, 4)]for title, num in zip(nums, titles):print(u'观众人数: '+num.get_text().strip(), u'\t房间标题: '+title.get_text().strip())#page_source.find()未找到内容则返回-1if self.driver.page_source.find('shark-pager-disable-next') != -1:breakself.driver.find_element_by_class_name('shark-pager-next').click()time.sleep(1)# 退出时的清理方法def tearDown(self):print("加载完成...")self.driver.quit()if __name__ == '__main__':unittest.main()

最后

分享一份Python的学习资料,但由于篇幅有限,完整文档可以扫码免费领取!!!

1)Python所有方向的学习路线(新版)

总结的Python爬虫和数据分析等各个方向应该学习的技术栈。

在这里插入图片描述

比如说爬虫这一块,很多人以为学了xpath和PyQuery等几个解析库之后就精通的python爬虫,其实路还有很长,比如说移动端爬虫和JS逆向等等。

img

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然达不到大佬的程度,但是精通python是没有问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

http://www.lryc.cn/news/189406.html

相关文章:

  • nodejs+vue宠物店管理系统
  • ceph版本和Ceph的CSI驱动程序
  • Android Studio Flutter真机调试错误
  • MQ - 41 容灾:跨地域、跨可用区的容灾和同步的方案设计
  • vue3学习(二)--- ref和reactive
  • 网络-HTTPS
  • GPU提升多分类问题
  • Selenium+Pytest自动化测试框架
  • 云原生Kubernetes:Rancher管理k8s集群
  • Java架构师异步架构设计
  • 电子书制作软件Vellum mac中文版特点
  • Langchain 代理 (Agents) ,赋能超级 LLMs
  • 华为OD机考算法题:阿里巴巴找黄金宝箱(1)
  • 【JAVA版本】websocket获取B站直播弹幕——基于直播开放平台
  • Vue中的监视属性
  • 汽车一键启动点火开关按键一键启动按钮型号规格
  • 快速学习微服务保护框架--Sentinel
  • bootz启动 Linux内核过程总结
  • 前端项目--尚医通学习分享
  • 【Python】QTreeWidget树形结构添加
  • day 2 2.3.2 类和对象
  • vscode虚拟环境使用jupyter
  • Maven 依赖管理
  • 【踩坑】hive脚本笛卡尔积严重降低查询效率问题
  • 【C进阶】内存函数
  • h2database BTree 设计实现与查询优化思考
  • Linux命令(100)之sz
  • Insight h2database SQL like 查询
  • wpf中listview内容居中显示
  • 第二章 C++的输出