| |
|
|
开发:
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图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/28 4:39:35- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |