Python 始

來源:互聯網
上載者:User

  一直想找個時間來學Python,這次遇到一個收集網頁資訊的任務,終於可以給自己個借口來學學了。一開始還覺得又要重新學習一門新語言是很麻煩的一件事。後來被我應證了Python真的很簡單(當然這是建立在你能順利搭好環境,找到對應的模組才,環境配置網上到處都是,我在這就不多說了)

  下面就通過我這個簡短的例子來向大家展示一下Python的美吧:

  程式任務:收集視頻網頁上視頻的縮圖,儲存到本地檔案。

  環境:Eclipse+PyDev

  版本:Python3.2.2+BeautifulSoup4

import urllib.request,sys
import itertools,re
from bs4 import BeautifulSoup
ur = urllib.request

url_i = 1
pic_num = 1

#自訂的引號格式轉化函數
def _en_to_cn(str):
obj = itertools.cycle(['“','”'])
_obj = lambda x: next(obj)
return re.sub(r"['\"]",_obj,str)


if __name__=='__main__':
while url_i <= 30:
webContent = ur.urlopen("http://news.youku.com/focus/index/_page26716_" + str(url_i) + ".html")
data = webContent.read()
soup = BeautifulSoup(data)
tag = soup.img
print("-----------------------Page " + str(url_i) +"-------------------------")
for item in soup.find_all(tag.name):
for attr in item.attrs:
if attr == 'title':
ur.urlretrieve(item['src'], "D:\\Thumbnails\\" + str(pic_num) + "." + _en_to_cn(item['title']) + ".jpg")
pic_num += 1

print("----OK,Page " + str(url_i) +" has finished!")
url_i += 1

程式很簡短,可以將優酷上任意連續多個頁面的影片縮圖都儲存下來。程式的關鍵就是用到了BeautifulSoup這個用於解析網頁的第三方包,這個包的官方網頁是:
http://www.crummy.com/software/BeautifulSoup/,其中有很詳細的文檔可以參考。

PS:另外在實際編程時發現,很多視頻的標題中含有很多引號,一些是中文格式的引號,一些是英文格式的。而Windows下英文格式的引號在檔案名稱中是被視為非法字元的,所以就自訂了一個函數_en_to_cn用於將含有英文引號的字串轉化成中文引號。

通過這個例子可以清楚的反映出Python的優勢,特別實在互連網的應用和自然語言處理方面上,這更加堅定了我學習Python的決心。共勉~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.