python实现简单的办公⾃动化
前提:我知道各位有很多的繁琐的苦差事,填个excel可能要烦的要死。最近,也有⼈叫我帮他做⼀个脚本,让我帮他从⼀个excel上获取数据,再到他给的⽹站上去搜索,将结果填回。其实挺简单的。
今天我就把我的⼀些经验分享⼀下。也算是对我的⼀种提⾼(就拿b站做个例⼦)
⽬标:从excel提取关键词到b站进⾏搜索,再将结果返回excel
1.⾸先,我们要有配置python环境,这个我就不细说了。百度上有很详细的教程。直接跳到第⼆步。
2.配置必要的模块
import openpyxl
import lenium
主要是这两个模块,其中openyxl是关于excel的,这是我试了好多关于excel模块中,算是⽐较好的模块了。因为他⽀持读和写。其他的模块只⽀持读或写。要读取excel要调两个模块。⽽⽤openyxl只⽤调⽤⼀个。但是他也有他的缺点,就是openyxl只⽀持xlsx格式。其他的不⽀持。要读取其他的格式,如xls,xlsm,xlsb。要⾃⼰⼿动转⼀下格式。
⾄于lenium就是⼀个⽐较有名的关于浏览器的模块了。它主要优点就是可以爬取⼀些动态渲染的页⾯。requests模块是爬不了动态渲染的页⾯的。⾄于缺点也很明显。那就是速度⽐较慢。
3.配置驱动
还有⼀点就是,lenium要配合浏览器的驱动来运⾏,我这⾥⽤的edge的驱动。其余其他的浏览器也有,⽐如⾕歌,⽕狐等等。可以百度来下载。这⾥就给出edge下载链接Microsoft Edge Driver - Microsoft Edge Developer(ps:版本⼀定要和⾃⼰浏览器版本匹配)
4.开始码代码了
from openpyxl import load_workbook #从openyxl导⼊load_workbook
from lenium import webdriver #从lenium 导⼊weddriver
driver = webdriver.Edge('') # 初始化浏览器,其中驱动的地址根据⾃⼰的地址来
<('/') #控制浏览器打开b站
以上代码运⾏后,会⾃⼰招出⼀个edge浏览器并进⼊b站
2.进⼊b站我们就成功了第⼀步了,接下来要找到搜索框,输⼊excel的数据
输⼊以下代码
from openpyxl import load_workbook #从openyxl导⼊load_workbook
from lenium import webdriver #从lenium 导⼊weddriver
driver = webdriver.Edge('') # 初始化浏览器
<('/') #控制浏览器打开b站
driver.find_element_by_xpath('//*[@id="nav_archform"]/input').nd_keys('ok')
它就会打开浏览器并在b站搜索框输⼊ok,现在我们只要把ok换成excel的数据就⾏了,加的这⾏代码是什么意思呢,就是⽤xpath⽅法寻找元素,xpath⽅法怎么找元素了,你可以按F12进⼊开发者模式,检查你要找的位置,然后将它的xpath复制下来就⾏?
当然lenium提供的⽅法肯定不⽌这⼀种,还可以⽤id,tag等等。这⾥安利⼀个⽐较好的插件chropath,当你找不到元素时,他可以帮你将元素轻松定位。⾮常⽅便
3.接下来就是输出excel的数据了
⾸先,我们创建⼀个叫⽜study的excel,并在⾥⾯写⼊数据in turn
我在⾥⾯写了⼀个⿊剑客与剑
接下来就是写代码,将输⼊送⼊搜索框,并进⾏搜索
bass什么意思
这⾏代码可以让浏览器以迅雷不及掩⽿之势打开b站输⼊⿊剑客与剑并进⾏搜索。
4.接下来,就将搜索的前5个视频的标题写⼊excel平安夜 英语
输⼊以下代码
from openpyxl import load_workbook #从openyxl 导⼊load_workbook
from lenium import webdriver #从lenium 导⼊weddriver
wb = load_workbook('⽜stduy.xlsx')
ws = wb.active
driver = webdriver.Edge('') # 初始化浏览器
<('/') #控制浏览器打开b 站
driver.find_element_by_xpath('//*[@id="nav_archform"]/input').nd_keys(ws['A1'].value)
driver.find_element_by_xpath('//*[@id="nav_archform"]/div/button').click()
from openpyxl import load_workbook #从openyxl导⼊load_workbook
from lenium import webdriver #从lenium 导⼊weddriver
wb = load_workbook('⽜stduy.xlsx')
人大附中朝阳学校ws = wb.active
driver = webdriver.Edge('') # 初始化浏览器
<('/') #控制浏览器打开b站
truck是什么意思
driver.find_element_by_xpath('//*[@id="nav_archform"]/input').nd_keys(ws['A1'].value)
driver.find_element_by_xpath('//*[@id="nav_archform"]/div/button').click()
windows = driver.window_handles
# 切换到当前最新打开的窗⼝
driver.switch_to.window(windows[-1])
name = (driver.find_elements_by_class_name('title')) #寻找标题
n = 1
surroundingfor i in name:
)
ws['B'+str(n)].value = i.text
wb.save('⽜stduy.xlsx') # 写⼊excel
n += 1
driver.clo()
driver.switch_to.window(windows[0])
driver.clo() #关闭浏览器
前提:我知道各位有很多的繁琐的苦差事,填个excel可能要烦的要死。最近,也有⼈叫我帮他做⼀个脚本,让我帮他从⼀个excel上获取数据,再到他给的⽹站上去搜索,将结果填回。其实挺简单的。
今天我就把我的⼀些经验分享⼀下。也算是对我的⼀种提⾼(就拿b站做个例⼦)
⽬标:从excel提取关键词到b站进⾏搜索,再将结果返回excel
奥特曼的英文1.⾸先,我们要有配置python环境,这个我就不细说了。百度上有很详细的教程。直接跳到第⼆步。
2.配置必要的模块
import openpyxl
import lenium
主要是这两个模块,其中openyxl是关于excel的,这是我试了好多关于excel模块中,算是⽐较好的模块了。因为他⽀持读和写。其他的模块只⽀持读或写。要读取excel要调两个模块。⽽⽤openyxl只⽤调⽤⼀个。但是他也有他的缺点,就是openyxl只⽀持xlsx格式。其他的不⽀持。要读取其他的格式,如xls,xlsm,xlsb。要⾃⼰⼿动转⼀下格式。
⾄于lenium就是⼀个⽐较有名的关于浏览器的模块了。它主要优点就是可以爬取⼀些动态渲染的页⾯。requests模块是爬不了动态渲染的页⾯的。⾄于缺点也很明显。那就是速度⽐较慢。
3.配置驱动
还有⼀点就是,lenium要配合浏览器的驱动来运⾏,我这⾥⽤的edge的驱动。其余其他的浏览器也有,⽐如⾕歌,⽕狐等等。可以百度来下载。这⾥就给出edge下载链接Microsoft Edge Driver - Microsoft Edge Developer(ps:版本⼀定要和⾃⼰浏览器版本匹配)
4.开始码代码了
from openpyxl import load_workbook #从openyxl导⼊load_workbook
from lenium import webdriver #从lenium 导⼊weddriver
driver = webdriver.Edge('') # 初始化浏览器,其中驱动的地址根据⾃⼰的地址来
<('/') #控制浏览器打开b站
以上代码运⾏后,会⾃⼰招出⼀个edge浏览器并进⼊b站
2.进⼊b站我们就成功了第⼀步了,接下来要找到搜索框,输⼊excel的数据
输⼊以下代码
它就会打开浏览器并在b站搜索框输⼊ok,现在我们只要把ok换成excel的数据就⾏了,加的这⾏代码是什么意思呢,就是⽤xpath⽅法寻找
元素,xpath⽅法怎么找元素了,你可以按F12进⼊开发者模式,检查你要找的位置,然后将它的xpath复制下来就⾏?
focusonglobalwarming当然lenium提供的⽅法肯定不⽌这⼀种,还可以⽤id,tag等等。这⾥安利⼀个⽐较好的插件chropath,当你找不到元素时,他可以帮你将元素轻松定位。⾮常⽅便
3.接下来就是输出excel的数据了
⾸先,我们创建⼀个叫⽜study的excel,并在⾥⾯写⼊数据
我在⾥⾯写了⼀个⿊剑客与剑from openpyxl import load_workbook #从openyxl 导⼊load_workbook
from lenium import webdriver #从lenium 导⼊weddriver
吸血鬼日记第二季剧情driver = webdriver.Edge('') # 初始化浏览器
<('/') #控制浏览器打开b 站
driver.find_element_by_xpath('//*[@id="nav_archform"]/input').nd_keys('ok')
句子成分英语