python
冻云-FrozenCloud
这个作者很懒,什么都没留下…
展开
-
递归读取目录及删除文件
用到的一些方法简单说明:os.listdir(path) 获取路径下的目录。返回一个目录列表os.path.isdir(path)判断路径是否是目录返回布尔值os.path.isfile(path)判断是否是文件返回布尔值# coding=utf-8'''Created on 2015年5月2日@author: frozen cloud'''原创 2015-05-02 23:13:08 · 606 阅读 · 0 评论 -
scrapy学习笔记--scrapy命令
使用scrapy是一定需要使用到它的命令工具的,所以熟练掌握会很方便。查看所有可用的命令了:scrapy -hh的意思就是help,这一点与大多数应用的命令是一致的。如图一共有十五个可用命令,这些命令分为两类:全局命令、项目命令。全局命令有:startproject、settings、runspider、shell、fetch、view、version。原创 2015-08-09 23:01:15 · 1125 阅读 · 0 评论 -
scrapy学习--list回顾
记得以前看过一些文章将的是学习知识的记忆是螺旋式上升的,所以需要不停的巩固已有的知识。在学习Scrapy的过程中,我会时不时地写一些python基础知识的回顾篇,用于回顾一些常用的知识点。当然作为回顾,我不会写的特别详细,可以作为一个学习的提纲,然后去翻阅资料,这也是一个学习的过程。还有就是第一手资料应该是官方文档。1. append 用于在列表的尾部追加新的内原创 2015-08-25 22:43:26 · 815 阅读 · 0 评论 -
scrapy学习--Spiders
一、爬虫的工作流程1.通过调用start_request()中的URL获取初始的request,并以parse为回调函数生成Request。2.在parse方法中分析返回的内容,返回Item对象或者Request或者一个可迭代容器。3.在parse内可以使用选择器分析网页内容,并生成item。4.由pipeline将返回的item存储到数据库或者使用Feed exports存入原创 2015-08-25 22:30:53 · 2907 阅读 · 0 评论 -
scrapy学习笔记——HTML页面解析
一、Scrapy Selectors简介scrapy提供了本身提供了一种基于XPath和CSS 表达式的选择器,叫做Scrapy Selectors。XPath是一种类似于层级选择的方式,与JQuery选择器有几分相似之处。/html/head/title :选择head标签内的title标签/html/head/title/text():选择title的文字//td:选择原创 2015-07-31 00:22:19 · 15397 阅读 · 0 评论 -
scrapy学习笔记--解析结果存储
在上一篇中已经得到了想要的mame,但是并没有将获取的结果保存,仅仅是打印出来了而已。那么现在我们将使用到最初定义的Item对象。Item对象是一个自定义的字典。所以操作Item与正常操作一个字典是一样的。字典里面的字段就是之前定义的属性,本文中就是name属性。# -*- coding: utf-8 -*-from _elementtree import parseimpor原创 2015-08-02 20:44:15 · 3285 阅读 · 0 评论 -
scrapy学习笔记--Items
Item对象是一种简单容器,用于结构化的保存抓取的数据。Item使用简单的class定义语句一级Field对象来声明。import scrapyclass FirstspiderItem(scrapy.Item): # define the fields for your item here like: name = scrapy.Field()Field对象指明了每个原创 2015-08-20 23:16:25 · 3044 阅读 · 0 评论 -
Pycharm删除项目
按照网上查找到的方法基本上都是:删除本地项目,重新打开Pycharm。这样做在打算彻底删除时是有效的,但是如果只是打算从pycharm中删除,而不是删除本地项目就出现问题。而且重新建立一个同名文件夹,pycharm中又会出现这个项目。正确的方式应该是:1.在用户\XXX\.Pycharm40\config\options目录下,查找到recentProjectDirectori原创 2015-08-20 22:23:28 · 18075 阅读 · 0 评论 -
scrapy学习--python字典回顾
由于scrapy的items与字典存在较紧密的联系,并且items的Field对象就是内置字典的一个别名。所以想要熟练使用items内容,良好的字典的基础就是必要的。字典类似于java中的Map,由键值对组成。键和值之间用“:”分隔,项与项之间用逗号(,)分隔,整个字典是由大括号括起来。键是唯一的。 获取字典中的一项:>>> dict2 = {'name': 'ea原创 2015-08-22 22:28:45 · 773 阅读 · 0 评论 -
scrapy学习--内置Spiders简介
有段时间没有学习Scrapy了,工作很紧所以时间大部分都投入到了android的学习上了。今天有点时间继续学习Scrapy,接上一篇scrapy学习--Spiders继续学习内置Spiders。1.XMLFeedSpiderXMLFeedSpider被设计用于通过迭代各个节点来分析XML源(XML feed)。迭代器可以从iternodes、xml、html选择。鉴于xml和htm原创 2015-10-02 10:01:21 · 1061 阅读 · 0 评论 -
面向对象编程以及Python面向对象
一、面向对象编程面向对象编程(OOP)作为一种方式,相对于面向过程更加的贴近人的思维习惯。面向对象是将一个整体问题划分为若干个模块,通过块与快之间的交流来解决问题;而面向过程编程是将一个问题按照解决的步骤一二三四的一个个方法去解决。面向对象有三大特点:多态、封装、继承。两个主要概念:类,对象。个人理解面向对象是一个总分的结构,从一个模块中提取出共同的部分就是类,这个类有原创 2015-11-04 22:59:14 · 1379 阅读 · 0 评论 -
scrapy学习——选择器
之前已经学习过HTML页面解析的一些内容,其中介绍了选择器的相关知识,接下来深入的学习选择器。Scrapy的选择器是基于lxml,也就是说二者在原理和速度上是一致的。构造选择器Scrapy selector是以 文字(text) 或 TextResponse 构造的Selector 实例。其根据输入的类型自动选择最优的分析方法(XML vs HTML):>>原创 2015-10-11 23:17:26 · 2504 阅读 · 0 评论 -
python登陆百度网盘并读取自己的所有文件,输出到文本文件中
这两天帮一个朋友写了一个小程序,需求是导出他自己的百度网盘所有文件的目录结构。以前注册过一个百度开发者,知道有PCS服务,里面有提供类似的接口,所以就一口答应下来,但是我too naive。去查文档的时候发现百度已经关闭了pcs服务。此时,我的心情是崩溃的,因为已经有段日子没写Python了。但已经答应了总得实现了,百度不提供接口只好自己来。按照需求,需要先登陆百度账户,然原创 2016-04-11 23:15:06 · 9420 阅读 · 1 评论 -
scrapy学习笔记——scrapy目录含义
当一个scrapy项目被成功创建时,会自动生成一些文件。例如:其中spiders文件夹用于存放自己编写的爬虫代码,而其他文件都是系统生成。Items.py文件存放的是Item,而Item也就是提取到的数据的容器。import scrapyclass FirstspiderItem(scrapy.Item): name = scrapy.Field()Item中的内容原创 2015-07-27 23:24:37 · 2511 阅读 · 0 评论 -
scrapy学习笔记——第一个项目,eclipse+pydev搭建scarpy项目
国内的大多数教程都是把官网文档抄来改去的,如果我也重复同样的就没什么意思了。所以本文将探索eclipse+pydev搭建scarpy项目,以及debug项目。因为本人一直使用eclipse平台作为Java、Android、python的集成开发环境,所以跟多时候使用这个平台比使用多个平台切换要方便,这也是探讨这个问题的初衷。本人并不排斥其他平台,比方说Android开发也同时在使用An原创 2015-07-03 21:30:44 · 8724 阅读 · 0 评论 -
Python面试题集答案(4)
7、如何知道一个python对象的类型?主要有两个方法来进行判断:type()、isinstance()方法。>>> import types>>> a = 'aaaa'>>> type(a)>>> b=123>>> type(b)>>> a = 'aaaa'>>> isinstance(a,str)True>>> b=123>>> isinsta原创 2015-06-13 17:15:36 · 773 阅读 · 0 评论 -
python登录人人网
首先分析一下人人网登录页面使用firefox打开http://www.renren.com/网址,按F12查看页面信息。可以看到红色框体部分就是登录按钮请求的地址,只要输入正确的用户名密码就可以登录成功。所以整个登录过程十分简单,代码如下:#encoding=utf-8import urllib2,urllib,cookielibdef renrenBrower(url原创 2015-05-12 12:41:32 · 816 阅读 · 0 评论 -
下载图片的小程序
一直对python很感兴趣,是接触过不多的语言中唯一有心动感觉到。虽然工作中使用过,但是使用的很简单,主要都是用python进行文本匹配,对正则表达式的要求更高一些。一直希望能提升自己的这一项技能,python让编程更加简单。这也是我对编程这个事情的一贯看法,未来,甚至是现在已经开始了——程序不再是算法+数据结构,而是模块。开发人员也将两极分化,制作模块的工具级开发者,和使用模块的应用级开发者原创 2015-04-30 22:14:49 · 1405 阅读 · 0 评论 -
python下载图片小程序改进
这个是在之前的小程序基础上进行了一点改进,增加了cookie#coding=utf-8'''Created on 2015年4月25日@author: frozen cloud'''import urllib,urllib2,os,cookielibimport re#网站地址SITE_URL = 'http://www.netbian.com'#下载的目录myPa原创 2015-05-01 21:56:55 · 477 阅读 · 0 评论 -
python操作EXCEL文档
今天看到群里有人在讨论python操作python操作excel,自己也清楚这方面的内容,借机学习一下。大概查询了一些python操作excel的库应该还是挺多的。有xlrd、xlwt、xlutils等,但是大多数都比较旧,甚至是不支持07之后的版本,现在的office已经出到了15,而且非常好用,所以建议大家使用较新的库。找到一个openpyxl库是支持07的,查看了一下最近更新原创 2015-06-14 00:00:15 · 1372 阅读 · 0 评论 -
Python删除列表重复数据以及效率问题
在列表去重中,根据其他语言的经验,比较容易想到的方式就是迭代删除以及set()方法。列表总结起来处理无外乎 循环,排序,添加移除元素等操作,所以围绕这几方面考虑即可。#coding=utf-8'''Created on 2015年5月30日@author: frozen cloud'''#原始列表originalList = ['python','A','B','C原创 2015-05-30 23:16:25 · 5091 阅读 · 0 评论 -
列表过滤的方式
列表过滤的方式大致有3种:1.迭代循环过滤2.列表解析3.关于函数式编程的内建函数filter(func,seq)的过滤这里以过滤列表中长度大于1的元素为例#coding=utf-8'''Created on 2015年5月31日@author: frozen cloud'''li = ["a", "asdasd123", "2323", "b", "c", "原创 2015-05-31 21:37:49 · 882 阅读 · 0 评论 -
两个python小知识点
原博客的地址http://www.cnblogs.com/BeginMan/p/3194697.html,标题是豆瓣之梦的系列博客,今天不知道怎么就不能访问了,也不知道后续还能不能让我将之都看完,今天是以百度快照查看的内容,希望能让我顺利的学习完全部的内容,另外我会在学习中尽量兼顾2.X和3.X,3.X版本必然是要取代2.X的,这就是它出现的意义,尽管2.X的资料更丰富,但是3.X必然是大势所原创 2015-06-01 21:49:08 · 481 阅读 · 0 评论 -
Python面试题集
由于冲刺豆瓣的原博客网页无法打开,所以这次就一次性的把上面的内容全部拿到这里来,以供以后学习之用。这里暂时只记录问题,随后在其他日志中进行解答。文章原址:http://www.cnblogs.com/BeginMan/category/497979.html1、Python是如何进行内存管理的?2、什么是lambda函数?它有什么好处?3原创 2015-06-02 23:30:12 · 2765 阅读 · 0 评论 -
Python面试题集答案(1)
Python面试题集1、Python是如何进行内存管理的?一般的高级语言都有内存管理,垃圾回收的机制。这种垃圾回收机制一般都不会只采用一种方式实现,为了最效率的进行垃圾回收,一般采用一种为主,多种方式混合的内存管理方式。1、python引入计数器的机制进行内存管理。对象创建时创建一个引用计数,当这个引用计数为0时,对象被回收。计数器顾名思义,就是标志python对象被引用的原创 2015-06-04 22:12:53 · 1999 阅读 · 0 评论 -
Python面试题集答案(2)
Python面试题集答案(1)Python面试题集3、解释一下python的 and-or 语法?and-or 语法相当于java中的三元运算 bool?a:b当bool为真则返回结果a,否则返回结果b例如:>>> a='abc'>>> b='bcd'>>> len(a)>0 and a or b'abc'有一种特殊情况需要注意:原创 2015-06-10 20:37:37 · 603 阅读 · 0 评论 -
scrapy学习笔记——安装
一、安装前的准备scrapy依赖的其他库还是挺多的,为了更方便安装scrapy,需要先安装python2.7+。目前的scrapy官网提供的两个版本1.0和0.4.2都需要python2.7。为了更方便安装各种库,应该安装pip和setuptools。pip可以方便的安装卸载升级你的第三方库。OpenSSL,直接使用pip下载和安装;lxml,直接使用pip下载和安装。这里原创 2015-07-02 23:23:04 · 884 阅读 · 0 评论 -
Python面试题集答案(3)
5、Python里面如何拷贝一个对象?a、copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。b、copy.deepcopy 深拷贝 拷贝对象及其子对象一个很好的例子:>>> import copy>>> a = [1, 2, 3, 4, ['a', 'b']] #原始对象>>> b = a #赋值,传对象的引用>>> c = copy.cop原创 2015-06-12 22:40:07 · 608 阅读 · 0 评论 -
Python安装第三方模块的方法
1.在命令符窗口进入模块所在目录,执行python setup.py install命令。 如果使用这个命令时报错,需要安装setuptools库,安装方法同上。2.使用pip安装第三方库。3.easy_install方式。 用于安装egg扩展名的包,egg可以认为就是zip,只是扩展名不同。原创 2015-11-19 23:27:56 · 737 阅读 · 0 评论