21

python 实现异步执行函数

python怎么实现异步执行函数,分析一下下面的例子:
定义了一个装饰器 async 和 A 、B 两个function
A 里面sleep 10s , 然后打印 a function 字符串
B 里面直接打印 b function 字符串
我们顺序调用两个功能:
A()
B( )
实际结果:
b function
10s…
a function

 

04

Python爬虫之PySpider框架安装配置

1. phantomjs

PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速、原生支持各种Web标准:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。 PhantomJS 可以用于页面自动化、网络监测、网页截屏以及无界面测试等。

以上附有官方安装方式,如果你是 Ubuntu 或 Mac OS X用户,可以直接用命令来安装

Ubuntu:

Mac OS X:

2. pyspider

直接利用 pip 安装即可

如果你是 Ubuntu 用户,请提前安装好以下支持类库

测试

如果安装过程没有提示任何错误,那就证明一些OK。

命令行输入

然后浏览器访问 http://localhost:5000

01

Python开发者必知的13个Python GUI库

Python是一种高级编程语言,它用于通用编程,由Guido van Rossum 在1991年首次发布。Python 的设计着重于代码的可读性。

Python有一个非常大的标准库,并且有一个动态类型系统,它还具有自动内存管理功能,支持多种编程范例。这些包括:

● 面向对象

● 命令式

● 函数式

● 程序式

图形用户界面(GUI)

GUI是一个人机交互的界面。换句话说,它是人类与计算机交互的一种方法。它使用窗口,图标和菜单,也可以通过鼠标和键盘进行操作。

GUI库

GUI库是在编写软件时,需要图形用户界面(GUI)所需要的库。在构建程序的GUI时,通常使用层叠方式,图形控制元素直接叠加在一起。

Python GUI

当你使用python编写应用程序时,你就一定要使用GUI。Python GUI的选择有很多。目前来说,Python GUI程序库有30多个跨平台框架。现在就列出其我认为最好的13个: Continue reading

17

Python获取自己本机的公网IP(外网IP)_简单粗暴

 

17

Python如果判断当前操作系统类型是Windows还是Linux

判断当前操作系统类型

打印结果

 

15

初识python爬虫框架scrapy

好东西要学习

项目目录结构

这些文件分别是:

  • scrapy.cfg: 项目的配置文件
  • tutorial/: 该项目的python模块。之后您将在此加入代码。
  • tutorial/items.py: 项目中的item文件.
  • tutorial/pipelines.py: 项目中的pipelines文件.
  • tutorial/settings.py: 项目的设置文件.
  • tutorial/spiders/: 放置spider代码的目录.

接下来,进入到项目目录中:

创建一个新的spider:

可用的工具命令(tool commands)

可以通过运行命令来获取关于每个命令的详细内容:

您也可以查看所有可用的命令:

Scrapy提供了两种类型的命令。一种必须在Scrapy项目中运行(针对项目(Project-specific)的命令),另外一种则不需要(全局命令)。全局命令在项目中运行时的表现可能会与在非项目中运行有些许差别(因为可能会使用项目的设定)。

全局命令:

项目(Project-only)命令:

自定义项目命令

您也可以通过 COMMANDS_MODULE 来添加您自己的项目命令。您可以以 scrapy/commands 中Scrapy commands为例来了解如何实现您的命令。

COMMANDS_MODULE

Default: '' (empty string)

用于查找添加自定义Scrapy命令的模块。

例子:

Continue reading

31

Python把HTML实体编码和Unicode编码\u转为中文汉字

某模块把获取的汉字转为HTML实体了,形式如〹 解码方法如下:

这样就把实体码翻译成汉语了。

PS. 实体码中有的符号不是&#开头,而是&开头的,匹配的时候要注意。

PSS. 实体码最后的分号不能少!

13

UnicodeDecodeError: ‘utf8′ codec can’t decode byte 0xc7 in position 0: invalid continuation byte

把获取到的信息转码为gbk就可以了

 

12

python使用代理爬页面返回403: Forbidden

前几天给使用Python写的爬虫加上了可以使用代理访问爬取页面内容的功能,刚开始几天测试是正常的,可以正确返回所需内容,突然这两天一使用代理就全部返回“403: Forbidden”,怎么也没想明白是哪儿的问题,后来我都怀疑是不是我脚本哪里写错了……

上面是一段测试代码,使用代理就返回403,最后实在是没办法了,想着在群里请教一下,结果有一位群友(3245935173)说让我试试使用“https”,测试结果,返回正确数据了,原来这是错在这里。

因为之前使用http协议是正确的,一定是代理网站后来修改了访问协议(http -> https),真是万万没想到啊。

07

python流程控制if小实验

在程序流程控制中,个人一直的习惯是判断某变量值是否为真……否则……

今天无意间有一个想法,想测试一个判断为真和判断为假哪个用时更短?结果有些出乎我的意料……

通过上面的小例子,可以说明在python项目的流程控制中,以否定的“逻辑非”来进行判断应该是首选的。

如果有异议,请一起学习交流。