关于selenium获取网页下一页的点击事件

这篇具有很好参考价值的文章主要介绍了关于selenium获取网页下一页的点击事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标网页

我们对爬虫的使用,肯定是少不了网页的支持啦,这次我们对

2022世界大学学术排名https://www.shanghairanking.cn/rankings/arwu/2022
进行大学排名数据的爬取并且存储进excel,但是这次不细讲爬虫而是只讲selenium的简单使用,所以不对数据进行清洗降噪了

使用的库

首先你得安装bs4、selenium、pandas、time
你可能现在有疑问了,为什么要用pandas,我只能说简单数据简单处理
这些库自行安装不细讲
学python前你得要会pip

谷歌驱动程序的安装位置

下载谷歌驱动去网上找网址,csdn有很多文章写这些,位置我放在了关于selenium获取网页下一页的点击事件

下一页点击事件

主题来了,直接上代码,不过我们要有思路先才能写代码
关于selenium获取网页下一页的点击事件
我们现在准备对这几行数据进行爬取,并且要爬取在排行榜上的所有高校
我们在此就先查看一下他的源码
关于selenium获取网页下一页的点击事件
我们了解了这些数据全在"tbody"下面,这就好办了
我们把这一页的数据爬取下来先放进一个数组里面先
但是做这些还必须先启动谷歌才行

启动谷歌程序

from bs4 import BeautifulSoup
from selenium import webdriver
import pandas as pd
import bs4
import time

option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)  # option是让谷歌一直开着,而不是只打开一下子就关掉
url = "https://www.shanghairanking.cn/rankings/arwu/2022" # 定义好链接
browser = webdriver.Chrome(options=option)  # 启动谷歌浏览器
browser.get(url)  #连接

关于selenium获取网页下一页的点击事件

ulist = [] # 先创建一个数组

检索数据取出放进数组里面
def getData():
	html = browser.page_source	#获取全部网页信息
	soup = BeautifulSoup(html, "html.parser")
	for tr in soup.find('tbody').children:  # 找到tbody的子节点
		if isinstance(tr, bs4.element.Tag):  # 判断tr是否属于子节点中
			tds = tr('td')
			ulist.append([tds[0].text.strip(), tds[1].text.strip(), tds[2].text.strip(), tds[3].text.strip(),tds[4].text.strip()]) # 获取文本,清空空格

目前获取的也只是一页的数据,我们要获取全部数据
关于selenium获取网页下一页的点击事件
这里有34页,我们想要全部数据就必须要让页面进行跳转,让他自动跳转后获取当前页面我们想要的所有数据,再次查看源代码
关于selenium获取网页下一页的点击事件
这里没有链接,那就是说这个就是一个选项卡,那下面的代码就简单了

先定义页数 flag=1

while flag <= 34:  # 循环页数
	getData()   #每次循环都要调用一次定义的函数
	time.sleep(5)	#让每个页面都停留五秒再进行点击跳转,让getData函数把数据全爬取完
	next_page = browser.find_element_by_css_selector('li.ant-pagination-next>a') 	#selenium的类选择器,找到a标签然后点击跳转
	next_page.click()  # 点击下一页,selenium内置的点击事件
	flag += 1  #循环完加一

数据存储处理

老规矩,定义函数

def dataFarm(unfo):
   school = ["排名", "学校名称", "国家/地区", "国家/地区排名", "总分"]
   chckout = pd.DataFrame(unfo, columns=school)
   chckout.to_excel("D:/desktop/大学排名数据.xlsx", index=False)
   print("爬取成功!")

都不用try except,因为数据简单,代码少,懒得搞了

总体的代码结尾处记得调用一下

dataFarm(ulist)文章来源地址https://www.toymoban.com/news/detail-428999.html

到了这里,关于关于selenium获取网页下一页的点击事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于使用Selenium获取网页控制台的数据

    需要获取网页的控制台的数据,如下图 Pycharm安装 Selenium安装 Selenium中的find_element方法 //供参考 这里使用Chrome有一个技巧可以直接复制元素的信息 到此我们已经完成了一部分简单的自动化操作了 接下来我们需要记录和获取控制台的信息,这部分参考可参考 jmeter-调用python脚本

    2024年02月02日
    浏览(52)
  • vue做移动端上拉加载 删除当前列表某个数据 保持当前状态 继续获取下一页不影响正常的数据

    //主要思路是把点击删除的数据让后端置为false // 比如我请求了3页,一页10条数据 // 一共30条,我一条一条删除,点击删除之后调用后端删除接口, // 但是不能调用刷新接口,不然我请求的3页数据就会重置到第一页, // 我可以把每次分页请求的数据保存在前端data的数组里,

    2024年02月16日
    浏览(54)
  • 怎么把word转换成只有一页的长页PDF?

    来百度APP畅享高清图片 要将Word文档打印成一长页的PDF格式,我们得先知道word转PDF的工作原理。word转pdf其实就是将word打印出来,就是跟你用物理打印机打印的原理是差不多的,所不同的是,PDF虚拟打印的原理是利用虚拟打印机驱动程序,在计算机内部模拟一个打印机设备,

    2024年02月13日
    浏览(36)
  • selenium爬取网页内容,对网页内容进行点击

    所需要的库 首先明确所要爬取的网页,选择调用方法,增加无界面模式的无头参数,然后调用,获取网址,使页面放大,为最大化窗口 获取数据运用XPATH函数,将获取的数据作为item,运用XPATH函数获取,   模仿人点击下一页,运用 for语句,每10个一点,停留5秒 同样寻找下一

    2024年01月17日
    浏览(68)
  • jquery 封装的分页插件(包括上一页,下一页,跳转)

    pagnation.js cs.html

    2024年02月06日
    浏览(38)
  • 关于使用Echarts来设置地图并触发点击事件

    先上效果图 有坑需要小伙伴们避开,Echarts版本号超过4.9就不能使用地图软件了,所以需要先卸载高版本再安装 配置好后复制就可以看到效果。

    2024年02月11日
    浏览(40)
  • 【FAQ】关于JavaScript版本的华为地图服务Map的点击事件与Marker的点击事件存在冲突的解决方案

    创建地图对象,并添加marker标记,对map和marker均添加了点击事件; body script function initMap() { // 创建地图对象 const map = new HWMapJsSDK.HWMap(document.getElementById(\\\'map\\\'), { center: { lat: 39.36322, lng: 116.3214 }, zoom: 8, }); map.on(\\\'click\\\', handleMapClick); ``` 经下方的Gif图可看出,在点击marker标记时不会

    2023年04月26日
    浏览(55)
  • JS javascript 点击鼠标 鼠标事件 获取元素 获取元素Xpath

    js代码,鼠标在页面点击时,记录元素的Xpath 代码:  

    2024年02月15日
    浏览(49)
  • 设置word目录从正文开始记录页码,并解决word目录正常,但正文页脚处只显示第一页的页码

    问题详情1:如何设置目录从正文开始记录页码 问题详情2:word目录处的页码正常,但正文只有第一页的页脚处显示页码 在设置目录从正文开始记录页码时需在目录后插入分节符(相同的节可以把当前页的页脚链接到上一页,但是不同的节就不行,因此可以利用分节来从 正文

    2024年03月10日
    浏览(116)
  • selenium点击链接下载文件,并获取文件

    在自动化测试时,有时我们会需要自动化获取下载的文件,这是我们要怎么办呢,跟着我一步步的来获取下载的文件吧 首先声明下,我们需要引入的类 配置我们的chrome浏览的下载环境,去除弹窗确认 这里profile.default_content_settings.popups设置成0,意思是取消下载的确认弹窗 d

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包