
Python学习
鸭脖
爱学习
展开
-
python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的转载 2016-08-03 16:58:41 · 1907 阅读 · 0 评论 -
scrapy缺省设置
BOT_NAME = ‘scrapybot’CLOSESPIDER_TIMEOUT = 0 CLOSESPIDER_PAGECOUNT = 0 CLOSESPIDER_ITEMCOUNT = 0 CLOSESPIDER_ERRORCOUNT = 0COMMANDS_MODULE = ”CONCURRENT_ITEMS = 100CONCURRENT_RE转载 2014-03-19 16:30:42 · 8745 阅读 · 0 评论 -
解决python连接mysql,UTF-8乱码问题
1。 Python文件设置编码 utf-8 (文件前面加上 #encoding=UTF-8) 2。 MySQL数据库charset=utf8 3。 Python连接MySQL时加上参数 charset="utf8" 测试环境: CentOS 6.2 / MySQL-5.1 / python-2.6.6 (MySQL server 默认编码以及测试用数据库的编码都是转载 2014-03-29 22:17:45 · 9433 阅读 · 0 评论 -
Python文件夹与文件的操作
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动。有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块,导入的方法是:import os一、取得当前目录s = os.getcwd()# s 中保存的是当前目录(即文件夹)比如运行abc.py,那么转载 2014-03-16 14:46:14 · 758 阅读 · 0 评论 -
Fiddler 教程
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。阅读目录Fiddler的基本介绍Fiddler的工作原理同类的其它工具Fiddler如何捕获Firefox的会话Firefox 中使用Fiddler插件Fiddler如何捕获H转载 2014-03-13 20:29:54 · 775 阅读 · 0 评论 -
用scrapy进行网页抓取
最近用scrapy来进行网页抓取,对于pythoner来说它用起来非常方便,详细文档在这里:http://doc.scrapy.org/en/0.14/index.html要想利用scrapy来抓取网页信息,需要先新建一个工程,scrapy startproject myproject工程建立好后,会有一个myproject/myproject的子目录,里面有item.py(由于你转载 2014-03-13 16:08:47 · 1527 阅读 · 1 评论 -
scrapy抓取ajax请求的网页
在上一篇博客http://zhouxi2010.iteye.com/blog/1450177中介绍了用scrapy抓取网页,但是只能抓取普通html中的链接,对于ajax请求的网页却抓不到,但是实际应用中ajax请求又是十分普遍的,所以这里在记录下抓取ajax页面的方法.仍然是spiders/book.py:Java代码 class B转载 2014-03-13 16:06:28 · 13630 阅读 · 2 评论 -
python中使用urllib下载网站图片
在python中可以使用urllib方便的实现图片和flash下载,测试:import urllib url = "http://www.udooo.com/cooperate/qq/images/081128/left.swf" path = "c:/spider/left.swf" data = urllib.urlopen(url).read() f = fi原创 2014-03-11 16:29:35 · 2006 阅读 · 0 评论 -
ubuntu安装Scrapy
Scrapy是Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 官网网站http://www.scrapy.org/1、安装如下软件sudo apt-get install build-essential;sudo apt-get install py转载 2013-05-22 20:16:06 · 9935 阅读 · 0 评论 -
ubuntu安装scrapy插件的时候缺失python.h
以前一直用scrapy爬取网络数据,现在重装了一下系统之后,发现安装的时候会报错说没有Python.h这个头文件,这当然是gcc的问题,那么现在我要做的就是安装这个头文件,需要使用下面这个命令: sudo apt-get install python-dev再次安装scrapy的时候就发现已经成功安装了。原创 2012-07-06 09:44:14 · 2008 阅读 · 0 评论 -
高考爬虫总结
今天又玩了一把爬虫,现在总计一下.首先是字符串的操作1.分割操作split,这是string自带的,返回的是根据特定的字符分割字符串后返回的数组2.然后是文件读取,这其中要涉及的是判断文件读取到,可以根据读取的字符串的长度为这,或者判断读取的字符串是否为'',这样便可以做出正确的判断.貌似你可以写很多的pipeline,但是这毕竟只是一个管道,所以你一次只能原创 2012-06-20 15:25:06 · 1649 阅读 · 0 评论 -
SSD4选择题做题工具
ssd4要考试了,看看学长用python写的选择题工具挺好玩的,所以自己也写了一个,也是用python写的.骗一下访问量~~HappySSD4选择题工具功能:1:连续刷题做错的题目会自动保存,并且可以按日期进行归档.如果觉得哪道题目比较好可以选择收藏至错题集2:可以选择紧接着上一次的完成情况继续完成3.可以顺序回顾错题集中的题目,或者打乱顺序查看4.原创 2012-05-26 19:28:54 · 1204 阅读 · 0 评论 -
scrapy采集数据时为每个请求随机分配user-agent
通过这个方法可以每次请求更换不同的user-agent,防止网站根据user-agent屏蔽scrapy的蜘蛛首先将下面的代码添加到settings.py文件,替换默认的user-agent处理模块DOWNLOADER_MIDDLEWARES = { 'scraper.random_user_agent.Random转载 2014-03-19 17:09:47 · 3955 阅读 · 0 评论 -
搜索引擎爬虫蜘蛛的User-Agent收集
百度爬虫 * Baiduspider+(+http://www.baidu.com/search/spider.htm”)google爬虫 * Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) * Googlebot/2.1 (+http://www.googleb转载 2014-03-19 15:05:05 · 7311 阅读 · 0 评论 -
python类定义的讲解
python是怎么定义类的,看了下面的文章大家就会了,不用多说,开始学习。一、类定义:复制代码代码如下:class : 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象类的私有属性: __private_attrs 两个下划线开头,声明该属性为私有转载 2015-05-24 19:52:57 · 1211 阅读 · 0 评论 -
【scrapy】使用方法概要(四)(转)
【请初学者作为参考,不建议高手看这个浪费时间】 上一篇文章,我们抓取到了一大批代理ip,本篇文章介绍如何实现downloaderMiddleware,达到随即使用代理ip对目标网站进行抓取的。 抓取的目标网站是现在炙手可热的旅游网站 www.qunar.com, 目标信息是qunar的所有seo页面,及页面的seo相关信息。qunar并没有一般网站具有的 robots.txt文转载 2014-03-19 16:49:27 · 6809 阅读 · 1 评论 -
用Scrapy抓取豆瓣小组数据(三)
接着上篇博客《用Scrapy抓取豆瓣小组数据(三)》,http://my.oschina.net/chengye/blog/124162处理抓取的数据我抓取了豆瓣一千多个小组的首页,获取的内容包括名称,成员数目,小组链接以及相关友情小组和推荐小组。Scrapy导出的数据格式可以是json/xml/csv等,我这边用了json格式,每个小组数据的格式如下:转载 2014-03-19 17:05:09 · 2877 阅读 · 0 评论 -
web性能优化(三)反爬虫策略 [复制链接]
[文章作者:狂奔的鹿(陆松林)本文版本:v1.0 转载请注明原文链接:http://www.cnblogs.com/dynamiclu/] 反爬虫策略,表面上看似乎跟WEB系统优化没有关系,经过分析,发现该策略是可以归到WEB性能优化的系列之中。 通过分析apache日志发现,某系统40%的带宽和服务器资源都消耗在爬虫上,如果除去10%-15%搜索引擎的爬虫,做好反爬转载 2014-03-19 14:37:55 · 1332 阅读 · 0 评论 -
Duplicate Elimination in Scrapy(转)
之前介绍 Scrapy 的时候提过 Spider Trap ,实际上,就算是正常的网络拓扑,也是很复杂的相互链接,虽然我当时给的那个例子对于我感兴趣的内容是可以有一个线性顺序依次爬下来的,但是这样的情况在真正的网络结构中通常是少之又少,一但链接网络出现环路,就无法进行拓扑排序而得出一个依次遍历的顺序了,所以 duplicate elimination 可以说是每一个 non-trivial 的转载 2014-03-19 16:41:19 · 1819 阅读 · 0 评论 -
设置Mysql字符集
数据库中中文乱码解决:设置server级,db级,table级使用的字符集为utf8。设置方法:查看mysql字符集状态:先使用客户端工具mysql登录: [plain] view plaincopymysql> status -------------- mysql Ver 14.14 Dist转载 2014-03-29 14:43:10 · 980 阅读 · 0 评论 -
web性能优化(三)反爬虫策略 [复制链接]
转载 2014-03-19 14:37:06 · 984 阅读 · 0 评论 -
用Scrapy抓取豆瓣小组数据(二)
接着上篇博客《用Scrapy抓取豆瓣小组数据(一)》http://my.oschina.net/chengye/blog/124157在scrapy中怎么让Spider自动去抓取豆瓣小组页面1,引入Scrapy中的另一个预定义的蜘蛛CrawlSpider1from scrapy.contrib.spiders import CrawlSpid转载 2014-03-19 17:03:20 · 2380 阅读 · 0 评论 -
scrapy安装——Ubuntu
安装scrapy转自【http://blog.youkuaiyun.com/ljsbuct/article/details/7196048】方法一1. curl -s http://archive.scrapy.org/ubuntu/archive.key | sudo apt-key add - 2.修改source.listsud转载 2014-03-18 15:27:41 · 1202 阅读 · 0 评论 -
用Scrapy抓取豆瓣小组数据(一)
最近在coursera.org(在线学习平台)上学SNA(Social Network Analysis,社交网络分析)。有兴趣的同学可以去看一眼:https://class.coursera.org/sna-002/,课程讲的很有意思,等回头我上完全部课程打算再写下详细总结和思考。为什么要抓取豆瓣小组数据? 课程要做一个带编程的final project,大概内容就是自己找一个转载 2014-03-19 17:01:34 · 7946 阅读 · 4 评论 -
【scrapy】使用方法概要(三)(转)
请初学者作为参考,不建议高手看这个浪费时间】 前两篇大概讲述了scrapy的安装及工作流程。这篇文章主要以一个实例来介绍scrapy的开发流程,本想以教程自带的dirbot作为例子,但感觉大家应该最先都尝试过这个示例,应该都很熟悉,这里不赘述,所以,将用笔者自己第一个较为完整的抓取程序作为示例作为讲解。 首先,要大规模抓取一个网站的内容,必要的资源便是代理ip这一资源,如果不使用代转载 2014-03-19 16:45:18 · 1895 阅读 · 1 评论 -
python发送邮件
今天在网上找到一个比较轻巧的python发送邮件的程序:#!/usr/bin/env python# -*- coding: utf-8 -*-#导入smtplib和MIMETextimport smtplibfrom email.mime.text import MIMEText##############要发给谁,这里发给2个人mailto_list=["731原创 2012-05-26 14:13:47 · 584 阅读 · 0 评论 -
使用Python实现一个小型的航空订票系统(3)
下面说一说其中碰到的问题,首先便是这里刚开始搞不清楚是传引用还是传对象.(我不知道这样说是否合理,但是按照c++的角度来看待我觉得会简单一点),我在航空公司那个类中有关于航班的列表,那么如果我把某个航班对象append到这个列表中时,如果以后那个航班对象发生了改变,那么相应的公司列表中的那个会不会发生改变呢?同样的疑问也出现在了航班对象中的seat列表以及customer的seat列表.后来简单的原创 2012-05-16 22:29:58 · 4106 阅读 · 0 评论 -
Django 1.4 Python 2.7菜鸟入门
这次我用的Django是1.4的,python是2.7的,本篇文章的主要目的是为那些刚刚学习django的同学提供一个好的开始。建议参考djangobook。我们的主要任务是这样的:在地址栏输入localhost:8000/currenttime/,页面上在正中央显示当前的系统时间,在url后面加上一个数字,那么会在页面下显示该值个小时之后系统的时间。关于Django和python的安原创 2012-05-04 21:01:20 · 5790 阅读 · 0 评论 -
python中定义参数的四种方式
在python中函数参数的定义主要有四种方式: F(arg1,arg2,...)这 是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的 值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说第一个形参对应这第一个实参。例 如:转载 2012-05-04 22:18:15 · 2459 阅读 · 0 评论 -
Django入门:第一个Django应用
对Django这个框架 感 兴趣 好久了,却一直懒于 研究 学习 ,现在跟随官网的 教程 跑一遍,学学Django同时也 继续 学学 Python 。 在开始之前,我们 先把Python和Django这个框架安装好。 官网:https://www.djangoproject.com/下载:h转载 2012-05-03 11:59:49 · 41042 阅读 · 2 评论 -
Python中文问题研究
我曾经在深入浅出java中文问题系列中研究过java的中文问题,现在中文问题已经不再羁绊我在java世界中漫游的脚步了。最近,对Python产生了浓厚的兴趣,谁知道跟中文问题这个老朋友又一次不期而遇。看来,在代码世界中,中文问题会在很长一段时间里跟我们形影不离。这也难怪,谁让当初发明计算机的不是我们中国人呢,否则,现在全世界的计算机都支持而且必须支持GBK,这样,写这样文章的人就不会是我了,而是大转载 2012-04-28 17:51:05 · 735 阅读 · 0 评论 -
Python中setuptools的简介
经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。Perl 用户比较熟悉 CPAN,而转载 2012-04-27 23:22:56 · 17589 阅读 · 0 评论 -
Python连接数据库代码结构
对于Python连接数据库的代码格式,我发现花旗队在这方面做的挺好的,下面粘下来:import sysimport MySQLdbreload(sys)sys.setDefaultEncoding("utf-8")HOST="localhost"USER="root"PWD="yourpwd"DB="db"CS="utf8"try:db原创 2012-04-27 13:21:47 · 895 阅读 · 0 评论 -
python中安装一些第三方软件包
这几天在写python的爬虫,用到了很多的第三方的软件包,下面总结一下这些第三方软件包在windows x86 32上的安装过程,以备以后之用:安装setuptools,上文已经讲过,这里不赘述http://blog.youkuaiyun.com/yelbosh/article/details/7518506安装MySQL-python,可以使用easy_install进行安装,或者使原创 2012-04-28 10:31:19 · 5364 阅读 · 0 评论 -
C/C++中嵌入Python
在C/C++中嵌入Python也比较简单,首先需要在VC中添加Python的include文件目录和lib文件目录:VC6.0下,打开 tools->options->directories->show directories for,将Python安装目录下的inlude目录添加到inlude files项中,将libs目录添加到library files项中。VC2005下,打开too转载 2012-04-24 21:26:27 · 5073 阅读 · 0 评论 -
Python连接mysql数据库
前面系统地学习了java连接mysql数据库,现在在做python的时候需要用到数据库,于是自己重新整理了一下数据库的知识,并且熟悉了python中MysqlDB模块的功能和函数等接口,现在系统地来总结一下吧:首先你要做的还是下载相应的模块并且安装啦,下载地址自己搜,网上有很多,安装的话也很好办,安装之后python的安装目录下的Lib文件夹下的site-packages文件夹下的MySQLd原创 2012-04-25 18:00:24 · 28765 阅读 · 0 评论 -
Python的descriptor
如果你和我一样,曾经对method和function以及对它们的各种访问方式包括self参数的隐含传递迷惑不解,建议你耐心的看下去。这里还提到了Python属性查找策略,使你清楚的知道Python处理obj.attr和obj.attr=val时,到底做了哪些工作。Python中,对象的方法也是也可以认为是属性,所以下面所说的属性包含方法在内。先定义下面这个类,还定义了它的一个实例,转载 2012-04-24 13:35:48 · 992 阅读 · 0 评论 -
Python yield 用法
yield 用法说明yield 简单说来就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。生成器 是 一个函数函数的所有参数都会保留第二次调用 此函数 时使用的参数是前一次保留下的.生成器还“记转载 2012-04-24 16:43:35 · 859 阅读 · 0 评论 -
Django学习笔记—Comments库的使用方法小记
comments库是django框架内置的一个评论库,官方文档地址:https://docs.djangoproject.com/en/dev/ref/contrib/comments/可以快捷的搭建出网站需要的评论系统。不过对这个库的评价似乎褒贬不一,我自己在使用中的感受是要想让这个库能够比较完美的工作,可能自己需要做较多的定制工作,有时想想,还真不如自己重头写来的爽气。这里照例把自己的一些使用转载 2012-05-06 16:35:25 · 9299 阅读 · 0 评论 -
解决django中超链接页面不跳转的问题
今天在写博客系统的时候,遇到了一个很蛋疼的问题:在模板中加上了超链接,代码没有错误,但是点击超链接之后页面不跳转,居然还是那个页面,怎么回事呢?而且加上管理员应用之后,管理员页面也显示不出来,还是停留在主页面....很郁闷后来发现问题所在了.问题便是,我的主页面url为r("^"),这个正则表达式的意思是只要是开头的都可以进行匹配,其实就是任何的url都可以进行匹配,所以不管是什么url都会跳原创 2012-05-07 22:20:24 · 8944 阅读 · 1 评论