python
Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据
我们都知道HTTP是无连接的状态协议,但是客户端和服务器端需要保持一些相互信息,比如cookie,有了cookie,服务器才能知道刚才是这个用户登录了网站,才会给予客户端访问一些页面的权限。
用浏览器登录新浪微博,必须先登录,登陆成功后,打开其他的网页才能够访问。用程序登录新浪微博或其他验证网站,关键点也在于需要保存cookie,之后附带cookie再来访问网站,才能够达到效果。
这里就需要Python的cookielib和urllib2等的配合,将cookielib绑定到urllib2在一起,就能够在请求网页的时候附带cookie。
具体做法,首先第一步,用firefox的httpfox插件,在浏览器衷开始浏览新浪微博首页,然后登陆,从httpfox的记录中,查看每一步发送了那些数据请求了那个URL;之后再python里面,模拟这个过程,用urllib2.urlopen发送用户名密码到登陆页面,获取登陆后的cookie,之后访问其他页面,获取微博数据。
具体代码,来自豆瓣的一篇文章:地址
本人加了点注释,欢迎大家一起品尝该同学的完美代码:
其实获取了模拟登陆后的urllib2,可以做抓数据等任何事情,你甚至可以写一个多线程的爬虫来爬遍新浪微博,我一直有这个想法,可从来没有实现。如果您有什么进展,请联系我共同进步。
Ubuntu 安装 PostgreSQL 和 python-psycopg2基础教程(以及错误解决)
Django支持以下四种数据库PostgreSQL(pgql)、SQLite 3、MySQL、Oracle。PostgreSQL 和 MySQL都是最受人关注的开源数据库,MySQL在国内又相对盛行,这和php领域大力推崇lamp不无关系; 关于Mysql和PostgreSQL的对比网上有很多版本,也没必要去比较,不过可以确定的一点是PostgreSQL对Django的 GIS支持更加强大。在Ubuntu 系统下为Python Django安装 PostgreSQL 数据库,还包括pgadmin3 和 python-psycopg2 等。
安装PostgreSQL 数据库
sudo apt-get install postgresql postgresql-client postgresql-contrib
安装过程提示:
The following NEW packages will be installed:
libossp-uuid16 libpq5 postgresql postgresql-8.4 postgresql-client
postgresql-client-8.4 postgresql-client-common postgresql-common
postgresql-contrib postgresql-contrib-8.4
……
Adding user postgres to group ssl-cert
……
Creating new cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main)…
Moving configuration file /var/lib/postgresql/8.4/main/postgresql.conf to /etc/postgresql/8.4/main…
Moving configuration file /var/lib/postgresql/8.4/main/pg_hba.conf to /etc/postgresql/8.4/main…
Moving configuration file /var/lib/postgresql/8.4/main/pg_ident.conf to /etc/postgresql/8.4/main…
Configuring postgresql.conf to use port 5432…
……
* Starting PostgreSQL 8.4 database server [ OK ]
Setting up postgresql (8.4.8-0ubuntu0.11.04) …
Setting up postgresql-client (8.4.8-0ubuntu0.11.04) …
Setting up postgresql-contrib-8.4 (8.4.8-0ubuntu0.11.04) …
Setting up postgresql-contrib (8.4.8-0ubuntu0.11.04) …
Processing triggers for libc-bin …
即创建了配置文件的位置为:/etc/postgresql/8.4/main/
可执行程序为:
sudo /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [Read more…]
eclipse远程发布代码的方法(SSH自动同步)
eclipse有个插件,叫做Eclipse Remote System Explorer (RSE),具体使用方法:
1、下载RSE
地址:http://download.eclipse.org/tm/downloads/drops/R-3.3.2-201202061000/
2、安装到eclipse(3.4版本以上)
解压RSE压缩包,直接把里面的内容复制到eclipse的根目录
3、打开eclipse
- 新建-》项目-》RSE-》connection
- 填入IP,名字
4、将eclipse的工作目录,切换到RSE
5、右键新建一个connection,然后输入IP地址
6、右键连接,然后输入用户名和密码,同步完成
7、在sftp files里面新建一个filter,里面输入过滤的文件夹路径,比如/home/crazyant
最后左边目录树,会出现服务器上相应的文件夹,可以直接编辑了
注:本文有www.crazyant.net原创,转载请注明出处。
python在linux下安装方法(解决旧版本冲突)
1.下载源代码 http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2
2. 安装
$ tar –jxvf Python-2.5.2.tar.bz2
$ cd Python-2.5.2
$ ./configure
$ make
$ make install
3. 测试
在命令行下输入python,出现python解释器即表示已经正确安装。
在suse10或rhel5(es5)下系统默认已经装了python但版本是2.4.x;本次安装后在shell中输入
#python
会发现显示结果:
# python
Python 2.4.3 (#1, Dec 11 2006, 11:38:52)
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
版本还是2.4.x的
解决办法:
#cd /usr/bin
#ll |grep python //查看该目录下python
#rm -rf python
#ln -s PREFIX/Python-2.5.2/python ./python //PREFIX为你解压python的目录
#python
# python
Python 2.5.2 (#1, Dec 11 2006, 11:38:52)
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
OK!问题解决!
Python关于apply的知识
今天用到了python apply的方法,感觉非常的好用。
python apply函数的具体的含义:
apply(function, args[, keywords])
函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的元组。如果省略了args,任何参数都不会被传递,kwargs是一个包含关键字参数的字典。
apply()的返回值就是func()的返回值,apply()的元祖参数是有序的,元素的顺序必须和func()形式参数的顺序一致,下面给几个例子来详细的说下:
- 假设是执行没有带参数的方法
def say():
print ‘say in’
apply(say)
输出的结果是’say in’
- 函数只带元组的参数。
def say(a, b):
print a, b
apply(say,(“hello”, “老王python”))
- 函数带关键字参数。
def say(a=1,b=2):
print a,b
def haha(**kw):
# say(kw)
apply(say,(),kw)
print haha(a=’a’,b=’b’)
输出的结果是:a,b
下面有个例子是apply的经典运用,他可以让你少写一些代码,多点时间陪陪朋友
地址是:
http://bbs.cnpythoner.com/viewthread.php?tid=139&extra=
该函数从2.3已经弃用,被call替代
Python知识之什么是*args和**kwargs?
先来看个例子:
输出结果如下:
可以看到,这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b=’2′, c=3, a’, 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。
呵呵,知道*args和**kwargs是什么了吧。还有一个很漂亮的用法,就是创建字典:
其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。
Python中的操作符重载
关于Python中的操作符重载,可以查看2.7.3文档地址:
http://docs.python.org/reference/datamodel.html#special-method-names
或者一篇详细的中文教程:
Python 魔术方法指南
类可以重载python的操作符,操作符重载使我们的对象与内置的一样。__X__的名字的方法是特殊的挂钩(hook),python通过这种特殊的命名来拦截操作符,以实现重载。 python在计算操作符时会自动调用这样的方法,例如:如果对象继承了__add__方法,当它出现在+表达式中时会调用这个方法。通过重载,用户定义的对象就像内置的一样。
在类中重载操作符
- 操作符重载使得类能拦截标准的python操作。
- 类可以重载所有的python的表达式操作符。
- 类可以重载对象操作:print,函数调用,限定等。
- 重载使得类的实例看起来更像内置的。
- 重载是通过特殊命名的类方法来实现的。 [Read more…]
数据采集技术之在Python中Libxml模块安装与使用XPath
为了使用XPath技术,对爬虫抓取的网页数据进行抽取(如标题、正文等等),之后在Windows下安装libxml2模块(安装后使用的是Libxml模块),该模块含有xpath。
准备
需要的软件包:
- Python 2.7
- lxml-2.3.4.win32-py2.7.exe 安装最好使用已打包的exe,这个包可以自动安装好lxml来使用
安装
Python2.7的安装这里不再赘述
lxml的安装,直接运行exe,会自动找到py27的目录进行安装
使用XPath抽取
下面用一个实例来验证,程序来自redice’s Blog的文章:
libxml2库的安装,xpath的使用
运行结果:
redice@163.com
中国
http://www.redicecn.com
Python操作Mysql实例代码教程(查询手册)
本文介绍了Python操作MYSQL、执行SQL语句、获取结果集、遍历结果集、取得某个字段、获取表字段名、将图片插入数据库、执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐。
实例1、取得MYSQL的版本
在windows环境下安装mysql模块用于python开发,请见我的另一篇文章:
MySQL-python Windows下EXE安装文件下载
执行结果:
Database version : 5.5.25
相关推荐
本合集涵盖了Python的多个重要方面,旨在通过丰富的实战案例帮助读者深入理解和掌握Python的运用。 首先,基础部分是学习任何编程语言的基石。Python的基础包括变量、数据类型(如整型、浮点型、字符串、列表、元组...
本资源“python案例集锦pdf文件.zip”提供了一系列的Python项目介绍,旨在为初学者和进阶者指明学习方向,了解当前Python领域的热门趋势。 1. Python基础:Python以其易读性强、语法简洁而受到欢迎。基础知识点包括...
3. **面向对象编程**:这部分会介绍Python的面向对象特性,包括类的定义、对象的创建、继承、多态、封装等概念,以及如何通过面向对象的方式进行程序设计。 4. **异常处理**:学习者会学习如何使用try/except来捕获...
Python 编程案例教程答案 Python 是一种高级、解释性的编程语言,广泛应用于后端开发、数据科学、人工智能、网络爬虫等领域。Python 编程案例教程答案旨在为初学者和中级开发者提供详细的编程案例和答案,帮助他们...
Python python 案例 python 案例 python 案例 python 案例 python 案例
《Python案例教程》是清华大学出版社出版的一本针对Python编程的学习指南,特别适合初学者和有一定经验的程序员。这本书深入浅出地介绍了Python语言的核心概念和常用编程技巧,旨在帮助读者快速掌握Python编程语言。...
《Python编程案例教程》教学设计思路总结 在《Python编程案例教程》中,我们可以看到,这门课程的设计思路是基于高等院校教育的要求,即强调“基础理论适度够用、加强实践环节、突出实际操作”。课程的设计目标是使...
在本文中,我们将深入探讨"Python机器学习案例"这一主题,包括Logistic回归、K-均值聚类和随机森林等重要算法的应用。这些技术在数据科学领域具有广泛的应用,帮助我们从数据中发现模式、预测未来趋势以及进行决策。...
python爬虫案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫小案例Python爬虫...
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。 Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。 像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public ...
python爬虫案例获取歌曲python爬虫案例获取歌曲python爬虫案例获取歌曲python爬虫案例获取歌曲python爬虫案例获取歌曲python爬虫案例获取歌曲python爬虫案例获取歌曲python爬虫案例获取歌曲python爬虫案例获取歌曲...
《Python编程案例教程》是刘庆教授的一本深入浅出的Python编程教材,旨在通过丰富的实例和详尽的解析帮助初学者快速掌握Python语言。这本书的课件PPT、课后例题答案以及示例代码提供了全面的学习资源,让学生不仅...
python项目各个案例,并且有非常详细的说明以及步骤,适合于新手以及编程经验不高的人。容易入门,容易看懂。
python编程案例教程课后答案-Python编程练习题学习汇总 数字计算;关于数轴和长整型数据类型的练习;平方数的操作练习;日期计算,编程练习
【Python基础】 Python是一种高级编程语言,以其简洁明了的语法著称。在Python的基础部分,我们将学习如何使用内置函数、语法特性以及各种数据...通过学习这些实用的小案例,可以系统地提升Python技能,从入门到精通。
《Python项目案例开发从入门到实践》这个压缩包文件提供了丰富的Python编程实践资源,涵盖了从基础到高级的各种应用场景。以下是对各个子文件所涉及的知识点的详细解释: 1. **第6章 爬虫应用——抓取网站图片 ...
Python3的经典案例及总结性精炼语法,适合初学者及进阶学习人群,对python3的基本语法及基本应用有较完整的描述,附带有经典案例代码,可以直接拷贝运行。
Python的数据分析和挖掘的案例,非常不错
Python Web 案例 demo 主要关注的是使用 Python 语言构建 Web 应用程序的实践。在这个领域,Python 提供了多个强大的框架,其中最著名的是 Django 和 Flask。本示例可能涵盖了从基础到进阶的多种应用场景,旨在帮助...
樱花树 python小案例 python樱花树源码 import turtle import random from turtle import * from time import sleep t = turtle.Turtle() w = turtle.Screen()