分类目录归档:网络Web

在Flask中使用新浪SAE云存储(新浪SAE云存储flask扩展)

对于部署在新浪应用引擎SAE上的项目,使用新浪SAE云存储是不错的存储方案。

新浪SAE云存储仅能在SAE环境中正常使用,对它进行简单封装后,可以直接在Flask中使用,项目代码见GitHub上Flask-SaeStorage

使用示例代码:

from flask import Flask
from flask_saestorage import SaeStorage

SAE_ACCESS_KEY = 'SAE Access Key'
SAE_SECRET_KEY = 'SAE Secret Key'
SAE_APP_NAME = 'SAE App Name'
SAE_BUCKET_NAME = 'SAE Bucket Name'

app = Flask(__name__)

在Flask中使用百度云存储BCS(百度云存储flask扩展)

对于部署在百度应用引擎BAE上的项目,使用百度云存储BCS(Baidu Cloud Storage)是不错的存储方案。

百度云存储已有Python SDK,对它进行简单封装后,就可以直接在Flask中使用了,项目代码见GitHub上Flask-BCS

使用示例代码:

from flask import Flask
from flask_bcs import BCS

BCS_HOST = 'BCS HOST'
BCS_ACCESS_KEY = 'BCS Access Key'
BCS_SECRET_KEY = 'BCS Secret Key'
BCS_BUCKET_NAME = 'BCS Bucket 

在Flask中使用七牛云存储(七牛云存储flask扩展)

对于小型站点,使用七牛云存储的免费配额已足够为站点提供稳定、快速的存储服务(另:在WordPress中使用七牛云存储)。

七牛云存储已有Python SDK,对它进行简单封装后,就可以直接在Flask中使用了,项目代码见GitHub上Flask-QiniuStorage

使用示例代码:

from flask import Flask
from flask_qiniustorage import Qiniu

QINIU_ACCESS_KEY = '七牛 Access Key'
QINIU_SECRET_KEY = '七牛 Secret Key'
QINIU_BUCKET_NAME = '七牛空间名称'
QINIU_BUCKET_DOMAIN = '七牛空间对应域名'

app = Flask(__name__)
app.config.from_object(__name__)

WordPress加速省流量之七牛镜像存储

自己搭建WordPress时,经常遇到的两个问题就是网络访问速度不够快及主机流量限额太少(当然,DigitalOcean的 1T/月 还是非常好的)。通常我们要解决这两个问题,经常使用的方案就是用图床来托管网站图片资源。但图床使用通常比较麻烦且仅能托管用户上传的图片,而通过使用七牛云存储的镜像存储服务,这两个问题都可以非常容易的得到解决。

所谓镜像存储是指你网站的数据在存储在自己服务器上的情况下,额外使用七牛云存储作为镜像服务器,让网站的用户每次访问的时候都从七牛云存储上读取。当七牛云存储上没有用户需要读取的数据,则七牛的服务器会从源站拉取资源,然后再返回给网站的用户。
通过使用镜像存储,绝大部分时候被镜像存储过的资源就不再需要从源站上获取了,这样即节省了源站流量,又依靠七牛的CDN节点提高了网站访问速度。

作为小站长或小博主,使用各种服务首先关心的自然是价格问题,好在七牛云存储免费配额还是挺不错的,包括了:
1.10GB永久免费存储空间
2.每月10GB下载流量
3.每月10万次Put请求
4.每月100万次Get请求
对于一般的网站博客来说,这已经完全足够了。

七牛的镜像存储服务适合各种类型的网站静态资源,如图片、音视频文件以及 CSS 和 JavaScript 等。对于自己编程实现的网站系统,可能需要较多的修改才能方便使用七牛镜像服务,但对于WordPress,我们有强大的插件来帮助我们轻松地将静态资源切换为使用七牛镜像服务。

七牛镜像存储 WordPress 插件 主要包含以下功能:
1.一键将 WordPress 的静态资源镜像到七牛
2.支持将远程图片也保存并镜像到七牛
3.使用七牛数据处理功能给图片设置水印
4.在 WordPress 后台直接更新数据
5.支持设置分类,标签缩略图,日志缩略图获取更完善
6.提供一批带缩略图的相关日志,最新日志,最热日志的日志列表


WordPress七牛加速使用说明:


一、注册七牛并创建镜像存储空间

1.点击https://portal.qiniu.com/signup?code=3lg4o70qpsd3m(我的邀请链接)注册七牛账号。

2.在左上的【选择一个空间】下拉框下点击【+新建空间】,填写【空间名称】并选择为【公共空间】,点击【提交】以创建新的空间。
七牛-新建空间

3.在【选择一个空间】下拉框中选择刚刚创建的空间,依次选择【空间设置】>【基本设置】>【一键加速网站】,填写【镜像源】为需要加速的网站,注意勾选左下的【使用默认的robots.txt配置文件】(我的已配置过),否则可能因为镜像源和镜像空间内容基本一致,导致搜索引擎对源站进行封锁。点击【确定加速】保存设置。
七牛-加速设置


二、七牛镜像存储 …

Shadowsocks源码阅读笔记【1】——语言相关

1.Python版本信息:

>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=6, releaselevel='final', serial=0)

2.getopt.getopt(args, options[, long_options])进行命令行参数解析。

3.json.load(f, object_hook=_decode_dict)自定义JSON解码。

4.string.maketrans(from, to)构建字符映射转换表(长度为256):

>>> import string
>>> from_chars = 'abcdefg'
>>> to_chars = '1234567'
>>> table = string.maketrans(from_chars, to_chars)

WordPress后台及Twenty Twelve主题修改Google Fonts加载地址提升访问速度

由于Google众多服务在国内访问存在的问题,WordPress后台及使用了Google Fonts的前台主题,都会在使用时严重拖慢网站整体的加载速度,因此有必要移除Google Fonts,或替换其加载地址。如果需要移除Google Fonts,可搜索相关WordPress插件。

WordPress后台替换:
打开 wp-includes/script-loader.php,搜索 fonts.googleapis.com,找到后将其替换为360网站卫士代理库地址 fonts.useso.com。

Twenty Twelve主题替换:
打开 twentytwelve/functions.php,在 twentytwelve_get_font_url 函数接近末尾处,找到 fonts.googleapis.com 将其替换为 fonts.useso.com。

注:不能简单地下载 fonts.googleapis.com/css 链接到的CSS文件部署到自己的服务器上,因为CSS中引用了Google服务器上的其它字体文件。…

Django admin 数据保存时自定义操作

使用Django框架中的admin可以非常方便地实现常用的管理功能,但有时在通过Admin添加数据时,希望在数据保存时进行一些额外的操作,这可以通过重写ModelAdmin的save_model实现。

from django.contrib import admin
class ArticleAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        # 自定义操作
        obj.save()

通过使用ModelAdmin中的其它方法,可以对admin的其它功能进行更多的控制。

Django文档:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model

Chrome Google搜索结果直接跳转扩展

前段时间Google hosts无法正常使用时写来自己用的一个Chrome扩展,主要功能是解决打开Google搜索结果时,由于经过Google跳转而导致网页被屏蔽的问题。

由于扩展只是自己个人使用,所以做得比较粗糙,还有一些小bug。

扩展清单文件(manifest.json):

{
  "name": "GoogleDirectLink",
  "version": "1.0",
  "description": "帮助访问由于某些原因而不能访问的Google搜索结果",
  "background": { "scripts": ["background.js"] },
  "browser_action" :
  {
    "default_icon" : "icon-19.png",
    "default_title" : "非Google搜索结果页"
  },
  "permissions" : [
    "tabs", "http://*/*", "https://*/*"
  ],
  "icons" : {
    "48" : "icon-48.png",
    "128" : 

Python使用urllib与BeautifulSoup下载并解析HTML

导入相关模块

import urllib.request
from bs4 import BeautifulSoup
from bs4 import SoupStrainer

下载并读取HTML内容

response = urllib.request.urlopen('http://www.baidu.com')
html_doc = response.read()

创建BeautifulSoup部分解析过滤器

only_nv_id = SoupStrainer(id='nv')

解析并输出百度nv中的文本内容

print(BeautifulSoup(html_doc, "html.parser", parse_only=only_nv_id).get_text())
新 闻 网 页 贴 吧 知 道 音 乐 图 片 视 频