2023年11月25日发(作者:)
python实现简单的办公⾃动化
前提:我知道各位有很多的繁琐的苦差事,填个excel可能要烦的要死。最近,也有⼈叫我帮他做⼀个脚本,让我帮他从⼀个excel上获取数
据,再到他给的⽹站上去搜索,将结果填回。其实挺简单的。
今天我就把我的⼀些经验分享⼀下。也算是对我的⼀种提⾼(就拿b站做个例⼦)
⽬标:从excel提取关键词到b站进⾏搜索,再将结果返回excel
1.⾸先,我们要有配置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 = ('') # 初始化浏览器,其中驱动的地址根据⾃⼰的地址来
('/') #控制浏览器打开b站
以上代码运⾏后,会⾃⼰招出⼀个edge浏览器并进⼊b站
当然selenium提供的⽅法肯定不⽌这⼀种,还可以⽤id,tag等等。这⾥安利⼀个⽐较好的插件chropath,当你找不到元素时,他可以帮你
接下来就是写代码,将输⼊送⼊搜索框,并进⾏搜索
from openpyxl import load_workbook #从openyxl导⼊load_workbook
from selenium import webdriver #从selenium 导⼊weddriver
wb = load_workbook('⽜')
ws =
driver = ('') # 初始化浏览器
('/') #控制浏览器打开b站
_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value)
_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('⽜')
ws =
driver = ('') # 初始化浏览器
('/') #控制浏览器打开b站
_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value)
_element_by_xpath('//*[@id="nav_searchform"]/div/button').click()
windows = _handles
# 切换到当前最新打开的窗⼝
_(windows[-1])
name = (_elements_by_class_name('title')) #寻找标题
n = 1
for i in name:
print()
ws['B'+str(n)].value =
('⽜') # 写⼊excel
n += 1
()
_(windows[0])
() #关闭浏览器
前提:我知道各位有很多的繁琐的苦差事,填个excel可能要烦的要死。最近,也有⼈叫我帮他做⼀个脚本,让我帮他从⼀个excel上获取数
据,再到他给的⽹站上去搜索,将结果填回。其实挺简单的。
今天我就把我的⼀些经验分享⼀下。也算是对我的⼀种提⾼(就拿b站做个例⼦)
⽬标:从excel提取关键词到b站进⾏搜索,再将结果返回excel
1.⾸先,我们要有配置python环境,这个我就不细说了。百度上有很详细的教程。直接跳到第⼆步。
2.配置必要的模块
import openpyxl
import selenium
主要是这两个模块,其中openyxl是关于excel的,这是我试了好多关于excel模块中,算是⽐较好的模块了。因为他⽀持读和写。其他的模
输⼊以下代码
from openpyxl import load_workbook #从openyxl导⼊load_workbook
from selenium import webdriver #从selenium 导⼊weddriver
driver = ('') # 初始化浏览器
('/') #控制浏览器打开b站
_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('⽜')
ws =
driver = ('') # 初始化浏览器
('/') #控制浏览器打开b站
_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value)
_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('⽜')
ws =
driver = ('') # 初始化浏览器
('/') #控制浏览器打开b站
_element_by_xpath('//*[@id="nav_searchform"]/input').send_keys(ws['A1'].value)
_element_by_xpath('//*[@id="nav_searchform"]/div/button').click()
windows = _handles
# 切换到当前最新打开的窗⼝
_(windows[-1])
name = (_elements_by_class_name('title')) #寻找标题
n = 1
for i in name:
print()
ws['B'+str(n)].value =
('⽜') # 写⼊excel
n += 1
()
_(windows[0])
() #关闭浏览器
浏览器就会打开b站搜索并将搜到的第⼀页的视频标题都写⼊excel
ok,今天经验就分享到这⾥。
ok,今天经验就分享到这⾥。
发布评论