1 #-*- coding:utf-8 -*- 2 import urllib2 3 import urllib 4 html=urllib2.urlopen("http://movie.douban.com/chart").read() 5 print html
<a class="nbg" href="http://movie.douban.com/subject/24879839/" title="道士下山"> <img src="http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251450614.jpg" alt="道士下山" class=""/> </a>
1 #-*- coding:utf-8 -*- 2 import urllib2 3 from bs4 import BeautifulSoup 4 5 import sys 6 reload(sys) 7 sys.setdefaultencoding('utf8') 8 9 # 函數 10 def printPlistCode(): 11 #1.獲得這個網頁的 html 代碼 # 12 html = urllib2.urlopen("http://movie.douban.com/chart").read() 13 14 #2.轉換 一種格式,方便查找 15 soup = BeautifulSoup(html) 16 #3. 獲得 找到的全部 包含 a 屬性是class = nbg 的代碼塊,數組 17 liResutl = soup.findAll('a', attrs = {"class" : "nbg"}) 18 #4.用於拼接每一個字典的字符串 19 tmpDictM = '' 20 21 #5. 遍歷這個代碼塊 數組 22 for li in liResutl: 23 24 #5.1 找到 img 標籤的代碼塊 數組 25 imageEntityArray = li.findAll('img') 26 27 #5.2 獲得每一個image 標籤 28 for image in imageEntityArray: 29 #5.3 獲得src 這個屬性的 value 後面也同樣 相似 key value 30 link = image.get('src') 31 imageName = image.get('alt') 32 #拼接 因爲 py中 {} 是一種數據處理格式,相似佔位符 33 tmpDict = '''@{0}@\"name\" : @\"{1}\", @\"imageUrl\" : @\"{2}\"{3},''' 34 35 tmpDict = tmpDict.format('{',imageName,link,'}') 36 37 tmpDictM = tmpDictM + tmpDict 38 39 #6.去掉最後一個 , 40 tmpDictM = tmpDictM[0:len(tmpDictM) - 1].decode('utf8') 41 42 #7 拼接所有 43 restultStr = '@[{0}];'.format(tmpDictM) 44 45 print restultStr 46 47 48 if __name__ == '__main__': 49 printPlistCode()
@[@{@"name" : @"進擊的巨人真人版:前篇", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251690571.jpg"},@{@"name" : @"花與愛麗絲殺人事件", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2222398443.jpg"},@{@"name" : @"小黃人大眼萌", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2258235689.jpg"},@{@"name" : @"小森林 冬春篇", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2215147728.jpg"},@{@"name" : @"道士下山", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251450614.jpg"},@{@"name" : @"深夜食堂 電影版", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2205014862.jpg"},@{@"name" : @"小男孩", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2230105606.jpg"},@{@"name" : @"頭腦特工隊", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2231021196.jpg"},@{@"name" : @"百元之戀", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2205471169.jpg"},@{@"name" : @"殺破狼2", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2246885606.jpg"}];
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSArray *plistArray = @[@{@"name" : @"進擊的巨人真人版:前篇", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251690571.jpg"},@{@"name" : @"花與愛麗絲殺人事件", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2222398443.jpg"},@{@"name" : @"小黃人大眼萌", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2258235689.jpg"},@{@"name" : @"小森林 冬春篇", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2215147728.jpg"},@{@"name" : @"道士下山", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251450614.jpg"},@{@"name" : @"深夜食堂 電影版", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2205014862.jpg"},@{@"name" : @"小男孩", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2230105606.jpg"},@{@"name" : @"頭腦特工隊", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2231021196.jpg"},@{@"name" : @"百元之戀", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2205471169.jpg"},@{@"name" : @"殺破狼2", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2246885606.jpg"}]; //路徑能夠本身選擇 [plistArray writeToFile:@"/Users/xxx/Desktop/test/movie.plist" atomically:YES]; return 0; }