
Python
文章平均质量分 75
请叫我汪海
专注前端开发的iOS程序员,喜欢Debian和Python,以及各种有趣的东西,梦想成为一位独立游戏开发者,做自己喜欢的游戏。
展开
-
[Python]入门教程(四):Python中的函数
函数是重用的程序段。它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块。这被称为 调用 函数。我们已经使用了许多内建的函数,比如len和range。函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。下面这个例子将说明这事实上是十分简原创 2013-03-11 17:02:10 · 3073 阅读 · 1 评论 -
[Python]入门教程(三):Python中的控制流
和C++/Java一样,在Python中有三种控制流语句——if、for和while。if语句if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ), 否则我们处理另外一块语句(称为 else-块 )。 else 从句是可选的。使用if语句例1 使用if语句#!/usr/bin/python# Filename: if.py number原创 2013-03-10 22:35:12 · 3540 阅读 · 3 评论 -
[Python]网络爬虫(11):亮剑!爬虫框架小抓抓Scrapy闪亮登场!
前面十章爬虫笔记陆陆续续记录了一些简单的Python爬虫知识,用来解决简单的贴吧下载,绩点运算自然不在话下。不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点。于是乎,爬虫框架Scrapy就这样出场了!Scrapy = Scrach+Python,Scrach这个单词是抓取的意思,暂且可以叫它:小抓抓吧。小抓抓的官网地址:点我点我。原创 2014-02-21 17:52:35 · 64907 阅读 · 18 评论 -
[Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
爬虫框架Scrapy的第一个爬虫示例入门教程。我们使用dmoz.org这个网站来作为小抓抓一展身手的对象。首先先要回答一个问题。问:把网站装进爬虫里,总共分几步?答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目标(Items):明确你想要抓取的目标 制作爬虫(Spider):制作爬虫开始爬取网页 存储内容(Pipeline):设计管道存储爬取内容好的,基本流程既然确定了,那接下来就一步一步的完成就可以了。原创 2014-02-23 20:52:42 · 213557 阅读 · 84 评论 -
[Python]网络爬虫(七):Python中的正则表达式教程
接下来准备用糗百做一个爬虫的小例子。但是在这之前,先详细的整理一下Python中的正则表达式的相关内容。正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器。以下内容转自CNBLOG:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html整理时没有注意,实在抱歉。转载 2013-05-15 13:29:50 · 149397 阅读 · 21 评论 -
[Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源。在Python中,我们使用urllib2这个组件来抓取网页。urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。它以urlopen函原创 2013-05-13 23:45:28 · 309717 阅读 · 91 评论 -
[Python]一起来写一个Python爬虫工具类whyspider
写了很多简单的Python爬虫的小例子,今天突然想做个开源的工具包,在gitcafe上和大家一起分享源码。项目源地址:https://gitcafe.com/callmewhy/whyspider今天写了个最简单的功能:GET和POST方法。其他功能会在gitcafe上陆陆续续的继续完善,下一步的计划是完成正则匹配的封装和模拟header这些常见的功能因为最近在学安卓,所以更新的进度可能会慢一点=原创 2014-04-18 15:57:40 · 16898 阅读 · 3 评论 -
[Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑
好吧题目很简单,但是有些细节还是挺有意思的。题目是:计算今年是否是闰年,判断闰年条件,满足年份模400为0,或者模4为0但是模100不为0答案是这样的:import time#计算今年是否是闰年,判断闰年条件,满足年份模400为0,或者模4为0但是模100不为0thisyear = time.localtime()[0] #获取年份if thisyear%400==0 or this原创 2014-05-18 10:10:25 · 6100 阅读 · 0 评论 -
[Python]网络爬虫(四):Opener与Handler的介绍和实例应用
在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl()1.geturl():这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向。获取的URL或许跟请求URL不同。以原创 2013-05-14 15:09:37 · 110552 阅读 · 23 评论 -
[Python]网络爬虫(一):抓取网页的含义和URL基本构成
一、网络爬虫的定义网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一原创 2013-05-13 22:30:54 · 341972 阅读 · 67 评论 -
[Python]网络爬虫(三):异常的处理和HTTP状态码的分类
先来说一说HTTP的异常处理问题。当urlopen不能够处理一个response时,产生urlError。不过通常的Python APIs异常如ValueError,TypeError等也会同时产生。HTTPError是urlError的子类,通常在特定HTTP URLs中产生。 1.URLError通常,URLError在没有网络连接(没有路由到特定服务器),或者服务器不原创 2013-05-14 09:51:31 · 158574 阅读 · 37 评论 -
[Python]网络爬虫(八):糗事百科的网络爬虫(v0.3)源码及解析(简化更新)
项目内容:用Python写的糗事百科的网络爬虫。使用方法:新建一个Bug.py文件,然后将代码复制到里面后,双击运行。程序功能:在命令提示行中浏览糗事百科。原理解释:首先,先浏览一下糗事百科的主页:http://www.qiushibaike.com/hot/page/1可以看出来,链接中page/后面的数字就是对应的页码,记住这一点为以后的编写做准备。然后原创 2013-05-15 20:59:28 · 98616 阅读 · 161 评论 -
[OpenCV]实验1.1:图像加载、显示
实验要求:利用图像库的功能,实现从文件加载图像,并在窗口中进行显示的功能;利用常见的图像文件格式(.jpg;.png;.bmp; .gif)进行测试实验原理:图片读取到程序中是以Mat结构存储的,在Python中可以简单理解为一个n*m的矩阵,如果是彩色图片,矩阵元素是存储RGB值的元组(类似于数组)实验源码:# -*- coding: utf-8 -*-# 利用图像库的原创 2013-10-29 15:02:44 · 4017 阅读 · 0 评论 -
[OpenCV]如何实现人工添加椒盐(Python)
基本的原理就是读取图片并且将其中的随即像素点的值设置为255以实现椒盐化,处理简单,用来作为OpenCV的熟悉练手的小实验很适合。原图:添加后:源码:# -*- coding: utf-8 -*-# 图像添加人工的椒盐现象import cv2 import numpy as np # 随机添加椒盐的函数def salt(img原创 2013-10-28 10:37:15 · 4187 阅读 · 5 评论 -
[Python]网络爬虫(十):一个爬虫的诞生全过程(以山东大学绩点运算为例)
先来说一下我们学校的网站:http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html查询成绩需要登录,然后显示各学科成绩,但是只显示成绩而没有绩点,也就是加权平均分。显然这样手动计算绩点是一件非常麻烦的事情。所以我们可以用python做一个爬虫来解决这个问题。1.决战前夜先来准备一下工具:HttpFox插件。这是原创 2013-07-12 13:46:47 · 95425 阅读 · 104 评论 -
[Python]入门教程(五):Python中的数据结构
列表list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目。假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了。只不过在你的购物表上,可能每样东西都独自占有一行,而在Python中,你在每个项目之间用逗号分割。列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表。一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。由于原创 2013-03-13 09:31:29 · 3274 阅读 · 4 评论 -
[Python]入门教程(一):安装Python并且从HelloWorld学起
一、安装Python1.可以去优快云下载:64位的python-3.3.0去Python的官网下载最新版本的Python:http://www.python.org/download/2.我下的版本是python-3.3.0.amd64.msi,安装完毕之后开始菜单会有如下显示:3.点击IDLE(Python GUI)运行Python集成开发环境:这是交互式Pytho原创 2013-02-15 20:45:29 · 7685 阅读 · 0 评论 -
[Python]入门教程(二):Python中的一些基本概念
最近忙着做Unity3D,Python的学习笔记落下不少,现在慢慢补上。说到基本概念,熟悉编程的同学应该都不陌生,但是作为笔记的一部分,还是慢慢介绍一下吧。字符串先来说说:字符串String字符串,字面解释就是一串字符。严格意义上来讲,字符串是 字符的序列 。大致分为以下三种情况:1.使用单引号(') 你可以用单引号指示字符串,就如同'Quote me原创 2013-03-01 14:38:16 · 3743 阅读 · 0 评论 -
[Python]Windows下python环境变量配置
Windows下python环境变量配置设置完环境变量后可以在命令行直接使用python。具体流程如下:1. 首先需要在系统中注册python环境变量:假设python的安装路径为C:\Python33,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:(为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环原创 2013-03-13 07:49:05 · 16807 阅读 · 4 评论 -
[Python]入门教程(四):Python中的模块
前面已经学习了如何在程序中定义一次函数而重用代码。如果想要在其他程序中重用很多函数,需要使用模块。模块基本上就是一个包含了所有定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。模块可以从其他程序 输入 以便利用它的功能。这也是使用Python标准库的方法。首先学习如何使用标准库模块。使用sys模块例1 使用sys模块#!/usr/bin原创 2013-03-13 08:01:28 · 3164 阅读 · 0 评论 -
[Python]项目打包:5步将py文件打包成exe文件
1.下载pyinstaller并解压(可以去官网下载最新版):http://nchc.dl.sourceforge.net/project/pyinstaller/2.0/pyinstaller-2.0.zip2.下载pywin32并安装(注意版本,我的是python2.7):http://download.youkuaiyun.com/download/lanlandechong/436原创 2013-05-16 14:54:55 · 44976 阅读 · 30 评论 -
[Django]静态文件:如何在网页中显示图片,css,js等静态文件
翻译整理自Django的官网文档。具体步骤为: 1.在settings.py中添加与修改:# static/file operationHERE = os.path.dirname(os.path.dirname(__file__))# Absolute filesystem path to the directory that will hold user-uploaded翻译 2013-05-16 17:53:36 · 16767 阅读 · 1 评论 -
[Python]集成开发环境PyDev for Eclipse的安装与使用
这是一个功能强大的 Eclipse插件,用户可以完全利用 Eclipse 来进行 Python 应用程序的开发和调试。这个能够将 Eclipse当作 Python IDE 的项目就是 PyDev。官网地址:http://sourceforge.net/projects/pydev/在上面的网址可以下载到PyDev的最新版本,解压后应该是plugin和feature两个文原创 2013-05-05 14:16:01 · 3562 阅读 · 1 评论 -
[Django]介绍一款Python框架:Django的安装与服务器的搭建
Django是一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以小的代价构建和维护高质量的Web应用。有点类似于PHP的CodeIgniter,使用MVC的设计模式。基本的安装步骤分以下几步:1.安装Python(注意版本)Django本身是纯Python编写的,所以安装框架的第一步是确保你已经安装了Python。最好选好Dja原创 2013-05-07 14:30:26 · 13712 阅读 · 2 评论 -
[Python]网络爬虫(五):urllib2的使用细节与抓站技巧
前面说到了urllib2的简单入门,下面整理了一部分urllib2的使用细节。1.Proxy 的设置urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy。如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用代理。新建test14来实现一个简单的代理Demo:import urllib2enable_proxy = Tru原创 2013-05-14 16:21:06 · 141269 阅读 · 25 评论 -
[Python]网络爬虫(九):百度贴吧的网络爬虫(v0.4)源码及解析
百度贴吧的爬虫制作和糗百的爬虫制作原理基本相同,都是通过查看源码扣出关键数据,然后将其存储到本地txt文件。项目内容:用Python写的百度贴吧的网络爬虫。使用方法:新建一个BugBaidu.py文件,然后将代码复制到里面后,双击运行。程序功能:将贴吧中楼主发布的内容打包txt存储到本地。原理解释:首先,先浏览一下某一条贴吧,点击只看楼主并点击第二页之后ur原创 2013-05-16 13:48:49 · 85258 阅读 · 73 评论