windows下python安装及使用

主要内容:html

1. python的安装python

2. python爬虫的几个小例子windows

---------------------------------------------------------------------------------------------------------------------------------------------------python爬虫

1. python的安装eclipse

在windows下通常采用jdk+eclipse+python的安装方式,这里eclipse的做用仍是个编辑器,写代码用的,把python内嵌到eclipse环境下,实如今eclipse下编写扩展名为.py的代码,而后直接调用python程序进行解析。至于jdk,它和eclipse是对好基友,分不开的。安装时要注意操做系统是32位仍是64位,依此来选择相应的安装版本,个人是32位系统,使用的jdk版本是jdk-8u112-windows-i586.exe,eclipse版本是eclipse-jee-neon-1a-win32.zip,python版本为python-2.7.12.msi,具体安装方法参见:http://www.cnblogs.com/Realh/archive/2010/10/04/1841907.html。编辑器

2. python爬虫的几个小例子函数

(1)实现了http://www.cnblogs.com/Bonker/p/3584707.html中的一个小例子编码

1 name =raw_input('What is your name?')
2 if name.endswith('tank'):
3     print 'Hello tank'
4 elif name.endswith('xiao'):
5     print 'Hello xiao'
6 else:
7     print 'Hello Strange'  

解释一下,第一行建立name对象,该对象经过python内建函数raw_input,经过读取控制台的输入与用户实现交互,运行时会在控制台提示"What is your name?",用户须要在其后输入字符信息;url

第2~7行,是一个多分支选择结构,判断的依据是name对象的endswith方法,endswith() 方法用于判断字符串是否以指定后缀结尾,若是以指定后缀结尾返回True,不然返回False,运行结果以下:spa

(2)读取百度网页信息的一个小例子

 1 #coding:utf-8
 2 '''
 3 Created on 2016年12月20日
 4 
 5 @author: Adminstrator
 6 '''
 7 import urllib2 
 8 '''
 9 请求的地址建立一个Request对象,
10 经过调用urlopen并传入Request对象,将返回一个相关请求response对象,
11 
12 '''
13 req = urllib2.Request('http://www.baidu.com')    
14 response = urllib2.urlopen(req) 
15 #Response中调用.read()   
16 the_page = response.read() 
17    
18 print the_page 

#coding:utf-8 要在py文件里面写中文,须要添加这样一行声明文件编码的注释,不然python2会默认使用ASCII编码;

第2行和第6行的'''表明这两行之间的内容为注释,第8行和第12行同理。

关于urllib2,这篇博客解释的很清楚:http://www.360doc.com/content/13/0204/13/3046928_264179264.shtml,程序中也有注释,调用urlopen函数对请求的url返回一个respons对象,这个respons是一个类file的对象,所以咱们能够用read()函数来操做这个respons对象。执行效果以下图所示:

 (3)下载百度贴吧中对应页码内的全部页面并存储为html文件

 1 #coding:utf-8
 2 import string, urllib2  
 3 #定义百度函数  
 4 def baidu_tieba(url,begin_page,end_page):     
 5     for i in range(begin_page, end_page+1):  
 6         sName = string.zfill(i,5) + '.html'#自动填充成五位的文件名  
 7         print '正在下载第' + str(i) + '个网页,并将其存储为' + sName + '......'  
 8         f = open(sName,'w+')  
 9         m = urllib2.urlopen(url + str(i)).read()  
10         f.write(m)  
11         f.close()  
12 
13 #-------- 在这里输入参数 ------------------  
14    
15 # 这个是三亚学院 的百度贴吧中某一个帖子的地址  
16 #bdurl = 'http://tieba.baidu.com/p/2296017831?pn=' 
17 #http://tieba.baidu.com/f?kw=%C8%FD%D1%C7%D1%A7%D4%BA&fr=ala0&tpl=5
18 #http://tieba.baidu.com/f?kw=%E4%B8%89%E4%BA%9A%E5%AD%A6%E9%99%A2&ie=utf-8 
19 #iPostBegin = 1  
20 #iPostEnd = 10  
21     
22 bdurl = str(raw_input(u'请输入贴吧的地址,去掉pn=后面的数字:\n'))  
23 begin_page = int(raw_input(u'请输入开始的页数:\n'))  
24 end_page = int(raw_input(u'请输入终点的页数:\n'))  
25 #-------- 在这里输入参数 ------------------  
26      
27 #调用  
28 baidu_tieba(bdurl,begin_page,end_page)  
第2行import string就是引入string模块,使得咱们能够调用与字符串操做相关的函数。好比后面的zfill和str函数
第5行for in range是循环的意思,示例:
 for i in range(1,5):
print i
>>>
1
2
3
4
它是如何工做的:
打印一个数字序列。咱们使用内置的range函数生成这个数字序列。
咱们在这里所作的是提供两个数字,range返回一个从第一个数字到第二个数字的一个数字序列。例如,range(1,5)给出序列[1, 2, 3, 4]。默认状况下,range 步距取为1。若是咱们提供第三个数字,range那么它变成了步距。例如range(1,5,2)获得[1,3]。for循环而后遍历这个范围,for i in range(1,5)至关于 for i in [1, 2, 3, 4],这就像把序列中的每个数(或对象)分配给i,一次一个,而后为每一个i值执行该语句块。在上面这个示例中,在语句块中咱们只是打印它的值。
程序段中,第6~11行是循环体里的语句:第6行string.zfill(i,5),还有另一种写法str(i).zfill(5),zfill()方法是垫零左侧的字符串,以填补宽度,如i的值为1,填补宽度为5,则会显示00001;
第8行f=open(sName,'w+'),以写入方式打开变量sName存储的字符串命名的文件,若是该文件不存在,则建立它。
执行效果以下图所示:
相关文章
相关标签/搜索