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存儲的字符串命名的文件,若是該文件不存在,則建立它。
執行效果以下圖所示:
相關文章
相關標籤/搜索