IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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站进行搜索,再将结果返回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?=?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站进行搜索,再将结果返回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?=?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,今天经验就分享到这里。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 15:03:18  更:2021-08-20 15:04:48 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码