python每日一记

在python日常开发中,有一个经常使用到字符串替换函数replace(str,org,new)

简单解释下 str:代表的是原字符串

org:代表的是 将要被替换的字符串

new:代表的是 新的字符串

但是这个replace()只能一次替换一个,如果要多次替换,写法上就有点难看
str.replace(“!”,”).replace(“#”,”).replace(‘1bc’,”)

需要重新写了一个方法

def replace_multi(s,li,new):

for i in li:

s = s.replace(i,new)

return s

调用方式 str = replace_multi(str,[‘#’,’!’,’1bc’],”)

AI全自动视频生成工具3-起步

这里我们首先需要大量的热门新闻,这个可以自由发挥,比如爬取热门新闻上热门头条,这个实现的方式有很多,或者说 直接爬虫 公众号/百度号等自媒体平台上发布的热点文章。

为什么要找新闻稿? 很简单,就是读的人多呀!

我这边处理的就是直接提取说百家号上各个分类下的文章,当然你自己可以去开发提取器模板,根据百家号开发一个,根据企鹅号开发一个,等等。

动刀!第一步:打开网址https://news.baidu.com

F12,查看属于百家号的新闻文章,通过正则匹配,全部提取出来!

AI自动化视频生成工具2-先说个思路

其实所谓去生成 视频,思路很简单,就是找到各种类型的新闻稿,然后提取出新闻稿件的图片,然后的文章的中心或者总结,然后通过语音合成技术,把文字转化成语音,然后通过神器ffmpeg的加工处理,将图片,音频,字幕,BGM等一起打包生成一个视频,然后就可以调用youtube-upload上传了!

是不是很简单?

估计有一部分小伙伴没有听明白我所说的内容,没关系,我后面会给大家一一解释的!

AI自动化视频生成工具1-AVPY的由来

之前看到过一篇网友分享的文章,介绍如何使用AI技术来自动化生成自媒体视频,然后上传到youtube,并且通过youtube来实现广告盈利,据说能月入1000刀。

然后我就模仿,也希望能做个类似的软件来搞下youtube赚点钱,其实过程并不复杂,我会用整整一个系列来介绍下 整个过程,并且会录制成视频,算是给自己的礼物。

当然不是全部照搬,也增加了些自己的思考,不过确实很佩服网上的各路大神,总能奇思妙想出各种赚钱的套路,吾辈汗颜!

python requests请求禁止跳转重定向

python requests请求url,有些网站页面出现:网页不存在(404),301 & 302 跳转的问题,抓取到的页面不是原地址,而是跳转后的页面,通过使用禁止重定向来实现判断。

使用方法:allow_redirects=False

方法示例:

url = www.example.com
r = requests.get(url, timeout=20, allow_redirects=False)
status_code = r.status_code
if status_code == 200:
	print(url)

通过禁止重定向,并判断原页面状态码是否是200,实现个人需求。

使用pip的国内镜像源实现加速

pypi 镜像使用帮助

pypi 镜像每 5 分钟同步一次。

临时使用

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

注意,simple 不能少, 是 https 而不是 http

设为默认

升级 pip 到最新的版本 (>=10.0.0) 后进行配置:

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

CentOs如何快速安装Chrome

The Easy Way

Universal Installation Script for RHEL/CentOS 6.X/7.X

All you need to do is run our installer script and you should be good to go.

curl https://intoli.com/install-google-chrome.sh | bash

This will automatically configure and enable the official Google repository, import Google’s signing key, and install the latest google-chrome-stable executable in your path. If you’re on a RHEL 6.X flavor the it will also automatically find and install all of the unmet dependencies that would normally make the installation fail. You can rerun the script whenever you want to grab the latest version of Google Chrome and, if you’re using RHEL 7.X, then you can update the package using yum as you would with any other package.

RHEL/CentOS 7.X

Alternatively, you can add the repository manually if you’re using a 7.X version. If you’re using Amazon Linux AMI then you’re definitely on a 6.X version and need to use the installation script. Otherwise, you can run

cat /etc/redhat-release

and check the output for the version number to confirm that you’re using 7.X. For example, if you’re using RHEL 7.0 then you would expect to see something like:

Red Hat Enterprise Linux Server release 7.0 (Maipo)

You can use the official Google repository if you see a 7.X version there. To add it to your system, simply create a file called /etc/yum.repos.d/google-chrome.repo with the following contents.

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Then you just need to run

sudo yum install google-chrome-stable

to install the Chrome package. This will add the google-chrome-stable script in /usr/bin/. Note that this is the same thing that the installation script does on 7.X flavors, so it’s safe to use the script regardless of which version you’re on.

Python图片处理库-pillow

现在在做一个项目,用到了需要对图片进行处理,在处理之前需要知道图片的宽,高,格式等等一系列的图片详情,找到一个相应的处理库pillow,功能很强大,记录一下简单的用法。

首先是安装pillow: pip install pillow

可以安装之后,由于版本的问题,导致会报错,可以指定具体的安装版本 eg:

pip install pillow==5.2.0

然后是引入库

from PIL import Image

一定要注意大小写的问题,不然会报错,找不到库文件

最后一步就是使用了:

img = Image.open(‘1.jpg’)

这里可以是相对路径,也可以是绝对路径,

然后读取相应的参数

img.size

img.width

img.hight

img.format

(640, 359)
359
640
JPEG

Selenium如何定位到canvas以及如何单击canvas上的元素

最近在做一个自动化的上传项目,碰到了Selenium需要点击canvas上的元素关闭网页蒙层的问题? 想了好久一直没有解决,在网上搜索和实践,终于找到解决方法。

1.定位canvas

这个比较简单,有很多方法,比如 find_element_by_id()

2.点击canvas中的元素,关闭蒙层

这里需要用到 ActionChains 这个类,它是继承selenium.webdriver这个父类,

使用方法也比较简单,主要是操作鼠标,移动到那个关闭按钮的坐标上

ActionChains(driver).move_to_element_with_offset(canvas,590,190).click().perform()

这里做下简单的解释,driver是浏览器的实例,move_to_element_with_offset() 通过相对定位找到元素,canvas是这个canvas画布,click()是鼠标的单击操作,perform()是执行操作,590是元素到左边边框的距离,190是元素到顶部边框的距离。

这样一行命令就完美解决了问题,关闭了网页上的canvas蒙层!

给出参考链接: https://www.pythonf.cn/read/99311

迅搜-简单易用的专业全文检索技术方案

在全文检索方面,有很多工具可以用来选型,比如业界最流行的elasticSearch,Sphinx,这些个服务,性能确实不错,但是存在一个问题,就是不适合单机,以elasticSearch为例,以前在运维工作中,配置过ELK,这个elasticSearch需要配置最大使用内存和最小使用内存,默认是2G,这个配置对于个人的小站来说,已经严重超阈值了,我的这台ECS就1G,跑了很多服务,不能在搞一个Elasticsearch,一启动就会GG,不信可以试试,记得先做镜像。

那么对于小型服务器来说,个人推荐xunSearch,比较适合单机的ECS,内存占用不高,很适合小站点来处理全文搜索!

后面会陆续给大家分享,我的站点是如何来使用xunserach来完成搜索的!