| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python实现简单的办公自动化 -> 正文阅读 |
|
[Python知识库]python实现简单的办公自动化 |
前提:我知道各位有很多的繁琐的苦差事,填个excel可能要烦的要死。最近,也有人叫我帮他做一个脚本,让我帮他从一个excel上获取数据,再到他给的网站上去搜索,将结果填回。其实挺简单的。 今天我就把我的一些经验分享一下。也算是对我的一种提高(就拿b站做个例子) 目标:从excel提取关键词到b站进行搜索,再将结果返回excel1.首先,我们要有配置python环境,这个我就不细说了。百度上有很详细的教程。直接跳到第二步。 2.配置必要的模块import?openpyxl import?selenium 主要是这两个模块,其中openyxl是关于excel的,这是我试了好多关于excel模块中,算是比较好的模块了。因为他支持读和写。其他的模块只支持读或写。要读取excel要调两个模块。而用openyxl只用调用一个。但是他也有他的缺点,就是openyxl只支持xlsx格式。其他的不支持。要读取其他的格式,如xls,xlsm,xlsb。要自己手动转一下格式。 至于selenium就是一个比较有名的关于浏览器的模块了。它主要优点就是可以爬取一些动态渲染的页面。requests模块是爬不了动态渲染的页面的。至于缺点也很明显。那就是速度比较慢。 3.配置驱动还有一点就是,selenium要配合浏览器的驱动来运行,我这里用的edge的驱动。其余其他的浏览器也有,比如谷歌,火狐等等。可以百度来下载。这里就给出edge下载链接Microsoft Edge Driver - Microsoft Edge Developer(ps:版本一定要和自己浏览器版本匹配) 4.开始码代码了from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器,其中驱动的地址根据自己的地址来 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 以上代码运行后,会自己招出一个edge浏览器并进入b站 2.进入b站我们就成功了第一步了,接下来要找到搜索框,输入excel的数据 输入以下代码 from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 driver.find_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys('ok') 它就会打开浏览器并在b站搜索框输入ok,现在我们只要把ok换成excel的数据就行了,加的这行代码是什么意思呢,就是用xpath方法寻找元素,xpath方法怎么找元素了,你可以按F12进入开发者模式,检查你要找的位置,然后将它的xpath复制下来就行? 当然selenium提供的方法肯定不止这一种,还可以用id,tag等等。这里安利一个比较好的插件chropath,当你找不到元素时,他可以帮你将元素轻松定位。非常方便 3.接下来就是输出excel的数据了 首先,我们创建一个叫牛study的excel,并在里面写入数据 我在里面写了一个黑剑客与剑 接下来就是写代码,将输入送入搜索框,并进行搜索 from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver wb?=?load_workbook('牛stduy.xlsx') ws?=?wb.active driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 driver.find_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value) driver.find_element_by_xpath('//*[@id="nav_searchform"]/div/button').click() 这行代码可以让浏览器以迅雷不及掩耳之势打开b站输入黑剑客与剑并进行搜索。 4.接下来,就将搜索的前5个视频的标题写入excel 输入以下代码 from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver wb?=?load_workbook('牛stduy.xlsx') ws?=?wb.active driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 driver.find_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value) driver.find_element_by_xpath('//*[@id="nav_searchform"]/div/button').click() windows?=?driver.window_handles # 切换到当前最新打开的窗口 driver.switch_to.window(windows[-1]) name?= (driver.find_elements_by_class_name('title'))?#寻找标题 n?=?1 for?i?in?name: ? ?print(i.text) ? ?ws['B'+str(n)].value?=?i.text ? ?wb.save('牛stduy.xlsx')?# 写入excel ? ?n?+=?1 driver.close() driver.switch_to.window(windows[0]) driver.close()?#关闭浏览器 前提:我知道各位有很多的繁琐的苦差事,填个excel可能要烦的要死。最近,也有人叫我帮他做一个脚本,让我帮他从一个excel上获取数据,再到他给的网站上去搜索,将结果填回。其实挺简单的。 今天我就把我的一些经验分享一下。也算是对我的一种提高(就拿b站做个例子) 目标:从excel提取关键词到b站进行搜索,再将结果返回excel1.首先,我们要有配置python环境,这个我就不细说了。百度上有很详细的教程。直接跳到第二步。 2.配置必要的模块import?openpyxl import?selenium 主要是这两个模块,其中openyxl是关于excel的,这是我试了好多关于excel模块中,算是比较好的模块了。因为他支持读和写。其他的模块只支持读或写。要读取excel要调两个模块。而用openyxl只用调用一个。但是他也有他的缺点,就是openyxl只支持xlsx格式。其他的不支持。要读取其他的格式,如xls,xlsm,xlsb。要自己手动转一下格式。 至于selenium就是一个比较有名的关于浏览器的模块了。它主要优点就是可以爬取一些动态渲染的页面。requests模块是爬不了动态渲染的页面的。至于缺点也很明显。那就是速度比较慢。 3.配置驱动还有一点就是,selenium要配合浏览器的驱动来运行,我这里用的edge的驱动。其余其他的浏览器也有,比如谷歌,火狐等等。可以百度来下载。这里就给出edge下载链接Microsoft Edge Driver - Microsoft Edge Developer(ps:版本一定要和自己浏览器版本匹配) 4.开始码代码了from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器,其中驱动的地址根据自己的地址来 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 以上代码运行后,会自己招出一个edge浏览器并进入b站 2.进入b站我们就成功了第一步了,接下来要找到搜索框,输入excel的数据 输入以下代码 from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 driver.find_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys('ok') 它就会打开浏览器并在b站搜索框输入ok,现在我们只要把ok换成excel的数据就行了,加的这行代码是什么意思呢,就是用xpath方法寻找元素,xpath方法怎么找元素了,你可以按F12进入开发者模式,检查你要找的位置,然后将它的xpath复制下来就行? 当然selenium提供的方法肯定不止这一种,还可以用id,tag等等。这里安利一个比较好的插件chropath,当你找不到元素时,他可以帮你将元素轻松定位。非常方便 3.接下来就是输出excel的数据了 首先,我们创建一个叫牛study的excel,并在里面写入数据 我在里面写了一个黑剑客与剑 接下来就是写代码,将输入送入搜索框,并进行搜索 from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver wb?=?load_workbook('牛stduy.xlsx') ws?=?wb.active driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 driver.find_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value) driver.find_element_by_xpath('//*[@id="nav_searchform"]/div/button').click() 这行代码可以让浏览器以迅雷不及掩耳之势打开b站输入黑剑客与剑并进行搜索。 4.接下来,就将搜索的前5个视频的标题写入excel 输入以下代码 from?openpyxl?import?load_workbook?#从openyxl导入load_workbook from?selenium?import?webdriver?#从selenium 导入weddriver wb?=?load_workbook('牛stduy.xlsx') ws?=?wb.active driver?=?webdriver.Edge('msedgedriver.exe')?# 初始化浏览器 driver.get('https://www.bilibili.com/')?#控制浏览器打开b站 driver.find_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value) driver.find_element_by_xpath('//*[@id="nav_searchform"]/div/button').click() windows?=?driver.window_handles # 切换到当前最新打开的窗口 driver.switch_to.window(windows[-1]) name?= (driver.find_elements_by_class_name('title'))?#寻找标题 n?=?1 for?i?in?name: ? ?print(i.text) ? ?ws['B'+str(n)].value?=?i.text ? ?wb.save('牛stduy.xlsx')?# 写入excel ? ?n?+=?1 driver.close() driver.switch_to.window(windows[0]) driver.close()?#关闭浏览器 浏览器就会打开b站搜索并将搜到的第一页的视频标题都写入excel ok,今天经验就分享到这里。? 浏览器就会打开b站搜索并将搜到的第一页的视频标题都写入excel ok,今天经验就分享到这里。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:26:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |