python自动发微博
前言再次,工作需要。
还是信息同步的工作,需要向微博同步信息。之前是使用的selenium来对浏览器进行操作,本次也可以采取这种方法。但想尝试一下新的方向,正好微博也有供开发者使用的接口,所以就打算试试这个思路。
总的说来,本次工作主要是:前期配置 + 代码编写。
由于需要对工作内容保密,本次文章主要讲述入门知识,以及在这过程中遇到的许多坑。准备素材接口这一步,我的其他文章里有讲到,这里就不赘述啦。
流程思路
配置微博api
准备素材接口
自动发布代码编写
配置微博api本部分会讲的较为详细,对于一个新手来说,这部分的知识很基础但很重要!
要特别注意这里面记录的一些坑,会为你节省不少时间。
微博api微博为广大的开发者提供了下面这个平台。
https://open.weibo.com/
进入这个平台之后,首先使用你的账号进行登录,并进行相关注册。
注意
在注册过程中,会让你选择**开发者类型**。有“个人”和“企业”两个选项。可以按照实际情况进行选择。本次以选择“个人”为例。
选择“企业”会获得更多的开发功能和权限。
申请应用申请应用的目的是为了得到 App Key、App Se ...
图片批处理——Adobe Photoshop
前言在工作中,遇到了需要一次性处理上百张图片的情况。当然,为了不当工具人+快速准确地完成工作,准备试试批处理。在一番搜寻后,决定直接用ps来进行图片批处理。后续可能会用python再对图片做进一步的处理。
本次的实践比较简单,其实原理和之前讲到的selenium IDE相通,都是录制动作+重放动作。
需求
将上百张大小不一的图片统一转换为900PX*500PX大小的图片
在图片中央加上黑色透明框
按照数字从小到大的顺序依次输出。
操作前:
操作后:
操作步骤
用ps打开任意一张图片,按alt+F9,打开动作面板,点击动作面板下方的加号按钮。
为动作命名。
命名确认后开始录制(动作面板下方的圆形按钮会变成红色),这时可以进行操作。操作完成后,点击方形按钮结束录制。
点击文件→自动→批处理,进入批处理页面,进行设置。
注意事项
在第3步录制动作的过程中,动作要保证准确无误。实在是出错了,可在录制结束后,在动作面板中点击展开该动作,对动作中的步骤进行修改和调整。
在最后的批处理页面中,左侧的四个选项一般不作勾选,右侧的覆盖动作中的“存储为”命令要分情况进行勾选。如果 ...
排版工具——Adobe InDesign
前言在工作中,需要设计+排版一份文档。这份文档有60多页左右,需要页眉页脚以及一些样式设计。在使用Adobe InDesign之前,我是使用的canva(中文名称可画)。
canva这个网站同样也可以对文章进行排版设计,并且有许多的模板可以使用,许多设计也可以参考。并且还有在线协作功能,能比较好的进行项目合作。但无法统一设置页眉页脚、字体样式等。如果需要设计的内容在5页之内,可以使用这个,但若是我这种情况:需要60多页并且还要求页眉页脚、字体统一等,就不再适用。总的来说这是一个偏向图片设计的网站。
而Adobe InDesign除了无法在线协作、没有设计模板之外,其他的功能还都是很好用的。
字体替换Adobe InDesign可以实现批量文字替换,十分方便。但逻辑是所有使用相同样式的字体可以批量替换,所以在设计的时候也是需要花时间设计字体样式。以下为步骤
文字 – 查找文字 – 在字体信息中选择想要替换的样式 – 在下方替换为选择对应的样式
如图所示,假设是把黑体Regular替换为幼圆:
主页设计Adobe InDesign设置页眉页脚的方法就在这里。设计主页。
设计主页之后, ...
工具介绍——selenium IDE
工具介绍——selenium-IDESelenium-IDE是一个录制脚本的工具,比较适合新手用来熟悉selenium。可以在Firefox或Google浏览器的插件中找到。
使用方法该工具的具体用法有两种:
Selenium-IDE录制完成后,保存项目,下次直接在Selenium-IDE中启动该项目,即可自动化操作。
Selenium-IDE录制完成后,导出特定语言的脚本,保存至本地,进行修改、运用、测试。
在本次的实践中,笔者使用的第二种方式,其具体操作步骤如下:
在Firefox或Chrome中安装Selenium-IDE插件。
进入Selenium-IDE界面,输入起始页链接,点击录制按钮开始录制。
在弹出的页面中进行你想要的相关操作。
不要关闭弹出的页面,进入Selenium-IDE界面,点击结束录制。
在左方点击export 导出特定语言的脚本。
优点
直观
易操作
可用来偷懒
缺点但Selenium-IDE这一工具也存在许多的弊病。
容错能力较小
在使用Selenium-IDE进行脚本录制时,开发人员必须精准操作浏览器,否则导出的脚本中会出现许多无用代码。 ...
文档自动化——docxtpl(基础篇)
前言在工作中,有一项是将网站上的报告转化为docx文档,并且还要求需要具备特殊的样式。
若是人工进行复制粘贴,还要调整样式,耗时费力还易出错。并且这一项工作的频度还不定,可能一天四次或者一周一次。所以就开始思考是否能将其自动化。
最终用python的docxtpl库实现了Word文档自动化。
docxtpl介绍docxtpl是python的一个包,主要通过对docx文档模板的加载,实现对docx的修改。
主要依赖:
python-docx :读写doc文本
jinja2:管理插入到模板中的标签
与python-docx不同的是,python-docx主要是用来创建文档,而docxtpl主要是用来修改文档。
可以通过以下命令进行安装。
1pip install docxtpl
核心思想完形填空。
实现思路
设计模板:按照要求,设计好模板docx文档。
规范数据:整理所需信息字段,规范api数据信息格式。
模板挖空:将docx文档中需要替换的内容使用两个花括号进行标注。
代码编写:请求api获得数据、数据对应、模板渲染。
导出文档。
模板准备如下图所示,在设计好文档样式后,在文档模 ...
项目合作——Api请求
项目合作——Api请求前言api应当是所有开发人员都熟悉的词。特别是在需要长期稳定地进行数据交互的场景下,一个好的api接口尤为关键。
本文主要是从简单的数据交互出发,总结一下基于python的api请求。
工作流首先设定这样一个场景:A是数据提供方,B是数据接收方。
那么这一套完整的工作流如下:
A和B共同商定好数据传递方式与数据结构。
A将需要的数据放入json中。
A将该json数据部署到api上。
B发起请求,请求api中的数据。
B得到数据并进行相关处理。
json数据准备以下内容来自百度百科:
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
简而言之,json是数据的载体,其结构简洁清晰,对于人和机器来说都比较友好。
在json中,有类似字典结构,也 ...
前端实战——vue
前端实战——vue文章概览本篇文章主要从基础知识、目录结构、vue文件构成、组件、父子组件传值、应用六个方面介绍了vue。
基础知识VUEVue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
优点:
简单轻巧,功能强大,拥有非常容易上手的 API;
可组件化 和 响应式设计;
实现数据与结构分离,高性能,易于浏览器的加载速度;
MVVM 模式,数据双向绑定,减少了 DOM 操作,将更多精力放在数据和业务逻辑上。
MVVM Model–View–ViewModel(MVVM) 是一个软件架构设计模式 , 源自于经典的 Model–View–Controller(MVC)模式。MVVM 的出现促进了 GUI 前端开发与后端业务逻辑的分离,极大地提高了前端开发效率。
MVVM = M + V + VM
M:model数 ...
浏览器自动化操作——selenium
浏览器自动化操作——selenium前言在工作日常流程中,有这样一步:将信息内容同步至某一网站。其实是一个比较简单的工作,但每次都由人工同步,就比较枯燥且费时。为了优化工作流程,提高工作效率,笔者就打算从模拟浏览器操作的思路出发,自动化完成这一工作。(当然,还有其他思路:如利用get或post等方式传参,但正好想接触一下这方面的知识,于是采用上面那种思路啦!)
selenium介绍以下内容节选自百度百科:
Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),[Mozilla Firefox](https://baike.baidu.com/item/Mozilla Firefox/3504923),Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成[ .Net] ...