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,今天经验就分享到这⾥。