2015已經過去,這是2016的第一篇博文!
祝大家新年快樂!
但是我還有好多期末考試!
還沒開始復習,唉,一把辛酸淚!
最近看了一遍彥祖的文章叫做
所以自己也想小試牛刀.于是便開始動手寫,但初次接觸,還是遇見了很多不懂的東西,于是爬文一個一個解決了,最終抓取了自己想要的東西
彥祖的這篇文章里Python代碼格式有錯,但是解釋是沒錯的!所以我待會兒貼出我能正確運行的代碼
彥祖的文章里說可以直接用類似于cocoapods的Python庫管理工具pip進行安裝我們解析網頁所需要用的第三方庫BeautifulSoup!
Mac確實是自帶了Python.但是并沒有安裝pip,所以需要我們手動進行安裝!
有人說可以使用命令:easy_install pip進行安裝,但是我并沒有安裝成功!百思不得其解
于是爬文尋找其他方法:http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x
原來是需要我的超級管理員權限...
至此,安裝Pip成功
第二步:安裝BeautifulSoup!
用彥祖的命令去運行,結果報錯!提示我安裝失敗!(又忘了截圖..)
沒辦法,就嘗試手動安裝BeautifulSoup,結果還是不行
后來我想是不是還是因為沒有管理員權限的原因
于是嘗試加上過后,就安裝成功了
好了,開始寫代碼吧,但是我一個新人連該用什么來寫Python代碼都不知道!
又搜!(好低級的問題)=====>用記事本就行(真方便)(保存為.py文件后,是用的xcode打開的)
于是敲了如下代碼:
1 #!/usr/bin/python
2 #-*- coding: utf-8 -*-
3 #encoding=utf-8
4
5 importurllib26 importurllib7 importos8 from BeautifulSoup importBeautifulSoup9 defgetAllImageLink():10 html = urllib2.urlopen('http://www.dbmeinv.com').read()11 soup =BeautifulSoup(html)12
13 liResult = soup.findAll('li',attrs={"class":"span3"})14
15 for li inliResult:16 imageEntityArray = li.findAll('img')17 for image inimageEntityArray:18 link = image.get('src')19 imageName = image.get('title')20 filesavepath = '/Users/WayneLiu_Mac/Desktop/meizi/%s.png' %imageName21 urllib.urlretrieve(link,filesavepath)22 printfilesavepath23
24
25 if __name__ == '__main__':26 getAllImageLink()
獲得了如下數據(彥祖好邪惡....):
其實python真的很強大的,短短數幾十行代碼就可以實現這些功能!
閑來無事,又完善了一下代碼,用以獲得所有妹子的照片...
1 #!/usr/bin/python
2 #-*- coding: utf-8 -*-
3 #encoding=utf-8
4
5 importurllib26 importurllib7 importos8 importsocket9 from BeautifulSoup importBeautifulSoup10
11
12 defgetAllImageLink():13 xiayiye =True14 page = '/?pager_offset=12'
15 while(1):16 html = urllib2.urlopen('http://www.dbmeinv.com%s' %page).read()17 soup =BeautifulSoup(html)18
19 liResult = soup.findAll('li',attrs={"class":"span3"})20 nextResult = soup.findAll('li',attrs={"class":"next next_page"})21
22
23 for li inliResult:24 imageEntityArray = li.findAll('img')25 nameResult = li.findAll('span',attrs={"class":"starcount"})26 for name innameResult:27 nameTitle = name.get('topic-image-id')28
29 for image inimageEntityArray:30 link = image.get('src')31 filesavepath = '/Users/WayneLiu_Mac/Desktop/meizi2/%s.jpg' %nameTitle32 socket.setdefaulttimeout(30)33 urllib.urlretrieve(link,filesavepath)34 printfilesavepath35
36 for nextPage innextResult:37 aEntityArray = nextPage.findAll('a')38 for a inaEntityArray:39 nextTitle = a.get('title')40 printnextTitle41 page = a.get('href')42 printpage43 if nextTitle.encode('utf-8') != "下一頁":44 xiayiye =False45 printxiayiye46 if xiayiye ==False:47 break
48
49 if __name__ == '__main__':50 getAllImageLink()
呵呵噠...