精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iOS程序員如何使用python寫網(wǎng)路爬蟲

移動(dòng)開發(fā) Android
我上一篇blog說過,iOS開發(fā)如果之前沒接觸過除了c和c++(c++太難了,不花個(gè)十來年基本不可能精通)的語言,第二門語言最好的選擇就是python.

我上一篇blog說過,iOS開發(fā)如果之前沒接觸過除了c和c++(c++太難了,不花個(gè)十來年基本不可能精通)的語言,第二門語言***的選擇就是python.

原因就是

1.語法簡單

2.庫太多,隨便想要什么功能的庫都找得到,簡直編程界的哆啦A夢.

3.語法優(yōu)美,不信?你去看看python超過兩千行的代碼再回頭看看用oc寫的超過兩千行的代碼,oc寫的簡直丑到***(沒命名空間,點(diǎn)語法調(diào)用和括號調(diào)用混用).

為什么要會寫爬蟲?

春節(jié)前有一件活無人認(rèn)領(lǐng),我就自告奮勇認(rèn)領(lǐng)了,具體如下:

自己寫程序在豆瓣讀書上抓取人

熊節(jié)覺得一個(gè)好的程序員應(yīng)該讀過那20本好書 ——《重構(gòu)》《精益創(chuàng)業(yè)》《敏捷軟件開發(fā)》《測試驅(qū)動(dòng)開發(fā)》等等。他在為ThoughtWorks組建成都分公司團(tuán)隊(duì)的時(shí)候,發(fā)愁正統(tǒng)招聘方法太慢了。于是,他花了幾個(gè)晚上用自己高中自學(xué)的水貨代碼水平寫了一個(gè)程序,去抓取豆瓣上讀過這些技術(shù)書籍的人。然后不斷遞歸,再抓到這些人都讀過其它什么書,再繼續(xù)抓讀過那些書的人。抓了幾萬人之后,他再用Hadoop來分析,篩選出了幾十個(gè)技術(shù)大牛。

他把這些大牛的豆瓣賬號扔給了公司女HR,讓HR去一個(gè)個(gè)發(fā)豆郵勾搭。

春節(jié)期間斷斷續(xù)續(xù)邊看邊學(xué)寫了個(gè)爬豆瓣上優(yōu)秀iOS開發(fā)人員的爬蟲.所以感覺iOS開發(fā)人員有必要掌握這項(xiàng)技術(shù).

再舉個(gè)例子,你如果想自己弄個(gè)app,例如每日精選美女之類的app,你服務(wù)端總得有圖吧,怎么弄?自己用爬蟲爬啊,爬到鏈接了塞到數(shù)據(jù)庫里,傳個(gè)json,app直接sdwebimage就好了.多爽!

廢話不多說.開始寫.

我先假設(shè)你用的是mac,然后mac都預(yù)裝了python2.x,然后呢,你有了python沒用,你得有庫.沒庫怎么干活?怎么安裝庫呢?python界也有個(gè)類似于我們iOS開發(fā)里cocoapods的東西,這個(gè)東西叫做pip.

pip和cocoapods用起來的命令都極其類似,我們只需要兩個(gè)庫,一個(gè)叫做urllib2,一個(gè)叫做beautifulsoup.

urllib2是干什么的呢?它的作用就是把網(wǎng)頁down下來,然后你就可以分析網(wǎng)頁了.

beautifulsoup干什么的呢?你用urllib2把網(wǎng)頁down下來了之后,里面都是html+css什么的,你想要從亂七八糟的一堆html里面找到正確的圖片鏈接那可不是件簡單的事,據(jù)我這幾天的學(xué)習(xí),做法無非兩個(gè),一個(gè)是自己寫正則表達(dá)式然后用一個(gè)叫re的python庫,另一個(gè)是使用lxml解析xpath.這兩個(gè)說實(shí)話都不太好用,一個(gè)正則就夠你吃一壺的.后來我搜索了很久,發(fā)現(xiàn)了一個(gè)庫叫做beautifulsoup,用這個(gè)庫解析html超級好用.

然后你們打開terminal敲入下面這個(gè)命令.

 

1

 

 

pip install BeautifulSoup

 

然后就會自動(dòng)幫你安裝BeautifulSoup這個(gè)東西了.urllib2因?yàn)槭亲詭У?所以不用你下載了.

好的我們打www.dbmeizi.com,這個(gè)邪惡的網(wǎng)站,首頁都是軟妹子.直接右鍵打開源文件.

你看到的是這些東西.

看上去和亂碼沒什么區(qū)別,但是我們需要仔細(xì)觀察.終于找到了圖片的鏈接.

圖片鏈接就在li這個(gè)標(biāo)簽下地img標(biāo)簽里.現(xiàn)在我們需要做的就是嘗試著把這種類型的li從所有html中分離出來.我們可以看到li這個(gè)標(biāo)簽有個(gè)屬性叫做class,這個(gè)屬性的值是class="span3",我們把這段話li class="span3"

搜索一下,我們發(fā)現(xiàn)有20個(gè)結(jié)果.恰巧,我們這個(gè)頁面的圖片也只有20個(gè),那么可以確定的是我們找到了區(qū)別于其他標(biāo)簽的唯一性.

再仔細(xì)分析下,img這個(gè)標(biāo)簽在li這個(gè)標(biāo)簽里有且只有一個(gè).那么,也就是說,我們先搜索出所有符合條件的li標(biāo)簽,然后找到里面的img標(biāo)簽就可以找到所有的圖片鏈接了.

然后看代碼.

  1. #!/usr/bin/python 
  2. #-*- coding: utf-8 -*- 
  3. #encoding=utf-8 
  4. import urllib2 
  5. import urllib 
  6. import os 
  7. from BeautifulSoup import BeautifulSoup 
  8. def getAllImageLink(): 
  9.     html = urllib2.urlopen('http://www.dbmeizi.com').read() 
  10.     soup = BeautifulSoup(html) 
  11.     liResult = soup.findAll('li',attrs={"class":"span3"}) 
  12.     for li in liResult: 
  13.         imageEntityArray = li.findAll('img'
  14.         for image in imageEntityArray: 
  15.             link = image.get('data-src'
  16.             imageName = image.get('data-id'
  17.             filesavepath = '/Users/weihua0618/Desktop/meizipicture/%s.jpg' % imageName  
  18.             urllib.urlretrieve(link,filesavepath) 
  19.             print filesavepath  
  20. if __name__ == '__main__'
  21.     getAllImageLink() 

我們來一句一句分析下.其實(shí)python的語法超級簡單.

凡是#打頭的就是python里面的注釋語句類似于oc里的//.

分別說明我們的環(huán)境是python,編碼是utf-8

然后import了四個(gè)庫,分別是urllib2,urllib,os,和beautifulsoup庫.

導(dǎo)入beautifulsoup庫的方式和其他三個(gè)不太一樣.我暫時(shí)也不清楚為什么python用這種導(dǎo)入方式,不過照貓畫虎就行了.

然后def打頭的就是定義一個(gè)函數(shù),python里面是不用分號做句與句的分隔符的.他用縮進(jìn)來表示.與def縮進(jìn)一個(gè)tab的都是函數(shù)體.

 

1

 

 

html = urllib2.urlopen('http://www.dbmeizi.com').read()

 

這句很簡單,就是讀取網(wǎng)頁的html.然后把值賦給html這個(gè)變量.python里聲明變量前面不用加任何東西,不用加聲明語句和變量類型,就連javascript聲明變量還要加個(gè)var呢.

我們獲取了網(wǎng)頁的html之后呢,聲明了一個(gè)beautifulsoup變量soup,用來準(zhǔn)備解析html.

 

1

 

 

liResult = soup.findAll('li',attrs={"class":"span3"})

 

這句話的意思就是,尋找html中所有l(wèi)i標(biāo)簽,并且這個(gè)li標(biāo)簽有個(gè)屬性class,class的值是span3.

注意這個(gè)findAll函數(shù),有點(diǎn)常識的話你應(yīng)該清楚,凡是帶all的函數(shù)基本上返回的都是一個(gè)數(shù)組,所以我們liResult這個(gè)變量實(shí)際上是一個(gè)數(shù)組.

for li in liResult:

這句話基本和oc里的遍歷數(shù)組語法完全一樣.就是遍歷liResult里的每一個(gè)變量.那么每一個(gè)變量就是一個(gè)\

標(biāo)簽.

imageEntityArray = li.findAll('img')

獲得了li標(biāo)簽,我們再找出所有的img標(biāo)簽.

一樣的道理,遍歷所有img標(biāo)簽(實(shí)際上只有一個(gè)).

link = image.get('data-src')

imageName = image.get('data-id')

這兩句的意思就是,獲取img標(biāo)簽里的'data-src'屬性和'data-id'屬性,data-src就是我們最想要的圖片鏈接了.data-id我們會用來當(dāng)做下載圖片之后的名字.

filesavepath = '/Users/weihua0618/Desktop/meizipicture/%s.jpg' % imageName

urllib.urlretrieve(link,filesavepath)

這兩句,***句是設(shè)置一個(gè)文件存放地址,第二句用urllib這個(gè)庫的urlretrieve這個(gè)方法下載我們的圖片,并且把圖片放到剛才的路徑里.

好了,我們的圖片就下載完了.

說說我是怎么爬蟲所有豆瓣iOS開發(fā)的,我先找到所有標(biāo)簽為ios開發(fā)的書籍,然后把所有書的id抓到,然后用id找到所有閱讀過書的用戶id,把所有用戶id抓下來之后用hadoop分析,哪些用戶id讀過的書最多,列出前一百個(gè).然后,你們懂得...(昨天我的ip還是mac地址已經(jīng)被豆瓣封了)

我感覺,我可以在簡歷上鄭重的寫下"精通python和大數(shù)據(jù)分析" -_-!

責(zé)任編輯:chenqingxiang 來源: 葉孤城___的博客
相關(guān)推薦

2015-04-03 11:15:32

程序員如何寫簡歷寫簡歷技巧

2021-02-18 07:20:51

Nodejs前端開發(fā)

2010-01-04 10:07:03

程序員

2019-05-15 09:59:24

程序員技能開發(fā)者

2018-08-02 17:00:15

Vue.js學(xué)習(xí)iOS開發(fā)

2016-04-28 11:17:33

互動(dòng)出版網(wǎng)

2010-10-18 11:18:44

程序員

2014-03-04 09:43:23

程序員外包

2014-09-22 09:42:54

程序員

2020-04-04 20:59:28

程序員技術(shù)開發(fā)

2015-04-09 13:36:13

程序員大齡程序員出路

2013-01-22 13:50:11

程序員前端Web

2015-10-09 09:21:01

程序員寫書

2012-03-06 09:22:46

程序員

2013-08-20 09:33:59

程序員

2021-01-11 16:27:48

Python程序員語言

2020-09-27 14:55:27

程序員技能開發(fā)者

2012-01-04 09:50:07

程序員

2020-05-08 15:29:01

Python編程語言開發(fā)

2014-03-25 10:35:35

程序員代碼調(diào)試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

99日韩精品| 亚洲黄页在线观看| 亚洲国产精品一区二区www在线| 国产精品区一区| 欧美a视频在线观看| 久久香蕉国产| 亚洲精品91美女久久久久久久| 亚洲少妇第一页| 国产蜜臀在线| 国产精品伦理在线| 精品一区二区三区国产| 国产精品高潮呻吟AV无码| 亚洲精选一区| 久久成人人人人精品欧| xxxxx在线观看| av成人资源| 欧美日韩国产高清一区二区| 无码精品a∨在线观看中文| 亚洲s色大片| xnxx国产精品| 国产原创精品| 国产男女无套免费网站| 日欧美一区二区| 97免费在线视频| 欧美成人综合色| 99久久99热这里只有精品| 亚洲精品国产精品国自产观看浪潮| 玖玖爱视频在线| 日韩高清在线| 欧美三级xxx| 日韩精品在线视频免费观看| 美女写真理伦片在线看| 亚洲国产精品成人久久综合一区| 九九九久久久| 日韩一级免费视频| 国产精品资源在线| 成人h视频在线观看播放| 特级西西444www高清大视频| 免费日韩av片| 国产91精品久久久久久| 日韩 欧美 亚洲| 激情自拍一区| 韩国精品久久久999| 精品在线视频免费观看| 欧美三区不卡| 欧美精品一区二区免费| 亚洲天堂黄色片| 一本一本久久a久久综合精品| 日韩性生活视频| 激情五月深爱五月| 欧美精品尤物在线观看| 中文字幕亚洲精品| 在线免费看视频| 三区四区不卡| 俺去亚洲欧洲欧美日韩| 成年人免费视频播放| 日韩国产欧美| 久久黄色av网站| 少妇被躁爽到高潮无码文| 亚洲国产精品综合久久久| 欧美另类在线播放| 久久国产精品波多野结衣| 亚洲天堂成人| 2019中文字幕在线观看| 一级黄色av片| 男男成人高潮片免费网站| 国产日产亚洲精品| 国产成人精品无码高潮| 成人精品视频一区二区三区尤物| 国产精品久久久久久久久久直播| 五月激情婷婷综合| 久久蜜桃香蕉精品一区二区三区| 色播五月综合| 91亚洲天堂| 天天做天天摸天天爽国产一区| 免费一级特黄毛片| 国产超碰精品| 69堂国产成人免费视频| 国产精品成人免费一区久久羞羞| 欧美一性一交| 色噜噜久久综合伊人一本| 中文字幕av播放| aa亚洲婷婷| 国产美女精品免费电影| 亚洲av无码国产精品久久不卡| 99久久99久久精品国产片果冻| 欧美日韩精品免费在线观看视频| 黄色动漫在线| 精品福利免费观看| 97超碰人人爽| 欧美18免费视频| 中文字幕精品一区久久久久| 麻豆亚洲av熟女国产一区二 | 久久亚洲一区二区三区明星换脸| 日韩精品久久久| 91香蕉在线观看| 色综合久久久久久久久久久| 午夜激情视频网| 亚洲va久久| 欧美高清在线播放| 中文字幕无码乱码人妻日韩精品| 成人精品小蝌蚪| 亚洲精品国产精品国自产| 国产美女福利在线观看| 欧美日韩不卡视频| 精品人妻一区二区三区香蕉| 88国产精品视频一区二区三区| 2019中文在线观看| 99国产精品久久久久久久成人| 久久久精品黄色| 精品成在人线av无码免费看| 日韩电影精品| 国产亚洲精品久久久久动| 日韩和一区二区| 国产精品中文字幕日韩精品 | 成人欧美视频在线| 国产视频福利在线| 岛国av一区二区三区| gogo亚洲国模私拍人体| 婷婷六月综合| 国产精品精品一区二区三区午夜版 | 国产精品一区无码| 成人午夜av影视| 日本女人高潮视频| 巨胸喷奶水www久久久| 亚洲精品永久免费精品| 日韩毛片在线播放| 成人综合婷婷国产精品久久蜜臀 | av成人激情| 国产精品久久一区二区三区| 超碰免费在线播放| 在线成人小视频| 极品尤物一区二区| 日韩精品高清不卡| 日本一区二区在线| 澳门av一区二区三区| 亚洲精品天天看| 6080午夜伦理| 国产亚洲一区字幕| 日本www高清视频| 欧美禁忌电影| 国产精品成人v| 国产在线一在线二| 欧美午夜电影在线播放| 丁香激情五月少妇| 免费亚洲电影在线| 亚洲精品视频一二三| 欧美成人三级| 久久精品国产欧美激情| 国产免费一区二区三区最新不卡| 中文字幕亚洲欧美在线不卡| 97超碰人人爽| 欧美成人日本| 国产欧美日韩伦理| 交100部在线观看| 亚洲欧美日韩直播| 亚洲自拍第二页| 亚洲欧美偷拍卡通变态| 黑人巨大猛交丰满少妇| 狠狠爱综合网| 麻豆精品视频| 国产欧美在线观看免费| 久久精品国产69国产精品亚洲| 国产精品久久综合青草亚洲AV| 亚洲欧美日韩一区二区| 香蕉视频免费网站| 国产精品久久国产愉拍| 欧美日韩在线播放一区二区| 九九久久国产| 久久av中文字幕| 在线观看xxx| 欧美丝袜第三区| 国产精品九九九九九九| 97se亚洲国产综合在线| 老熟妇仑乱视频一区二区| 99久久综合| 精品久久久久久一区| 久久久人成影片一区二区三区在哪下载| 永久免费精品影视网站| jizz中国女人| 欧美午夜女人视频在线| 黄色一级片一级片| 高清在线观看日韩| av免费网站观看| 欧美精品aa| 日本a级片久久久| 免费欧美网站| 日本久久中文字幕| www在线免费观看视频| 日韩成人免费视频| 国产精品色综合| 欧美日韩综合视频网址| 九九九免费视频| 国产视频一区二区在线| 男男受被啪到高潮自述| 日本一区中文字幕| 欧美xxxx吸乳| 不卡一区2区| 激情视频一区二区| 国产精品久久免费视频| 欧美在线视频网| 中文字幕伦理免费在线视频| 一本色道久久综合亚洲精品小说| 国精品人妻无码一区二区三区喝尿| 欧美在线制服丝袜| 日韩少妇裸体做爰视频| 亚洲四区在线观看| 国产jk精品白丝av在线观看| 成人午夜av电影| 午夜影院免费观看视频| 日韩专区欧美专区| 欧美日韩不卡在线视频| 婷婷成人基地| 日韩精品一区二区三区外面 | 成年人黄色在线观看| 色爱综合av| 国产视频不卡| 日本一区二区乱| 成人午夜高潮视频| 精品久久久网| 国产精品91免费在线| 国产伦理精品| 久久久久久久999| 91三级在线| 久久国产精品亚洲| 嫩草在线视频| 自拍偷拍亚洲精品| 第一福利在线| 亚洲视频在线看| 免费黄色在线视频网站| 日韩精品极品毛片系列视频| 男人天堂av网| 亚洲成avwww人| 性中国xxx极品hd| 日韩欧美电影在线| www.精品久久| 欧美v亚洲v综合ⅴ国产v| 99久久免费国产精精品| 欧美一级一级性生活免费录像| 亚洲一区在线观| 在线电影院国产精品| 国产三级漂亮女教师| 日韩一区二区三区在线| www.黄色一片| 亚洲精美色品网站| 你懂的在线观看视频网站| 亚洲欧洲一区二区三区在线观看| 欧洲视频在线免费观看| 亚洲欧美日韩在线一区| 粉嫩一区二区三区国产精品| 国产一区二区三区直播精品电影| 成人一区二区不卡免费| 中文字幕日韩综合av| 免费在线毛片网站| 久久999免费视频| a在线视频v视频| 欧美主播福利视频| 亚洲不卡系列| 91九色国产视频| 亚洲1区在线观看| 国产精品日韩一区二区三区| 婷婷成人在线| 亚洲精品欧美精品| 午夜久久99| 欧美国产激情视频| 美女视频网站久久| 免费观看污网站| 26uuu欧美| 韩国一级黄色录像| 午夜天堂影视香蕉久久| 欧美日韩 一区二区三区| 538在线一区二区精品国产| 国产 欧美 自拍| 亚洲女人被黑人巨大进入| 99青草视频在线播放视| 欧美成人午夜免费视在线看片| xxxcom在线观看| 国产精品va在线播放我和闺蜜| 成人97精品毛片免费看| 久久99精品久久久久久青青日本| 欧美日韩有码| 欧美中文字幕在线观看视频| 性伦欧美刺激片在线观看| 中文字幕在线综合| 成人sese在线| 国产免费嫩草影院| 午夜电影久久久| 亚洲图片中文字幕| 亚洲成人av中文字幕| 自拍视频在线| 97久久精品视频| 999久久久国产999久久久| 久久99欧美| 久久精品青草| 日韩手机在线观看视频| 国产精品一区在线| 亚洲一级黄色录像| 亚洲综合色区另类av| 中文字幕第31页| 亚洲精品99久久久久| 久操视频在线免费播放| 日本精品视频在线| 伊人精品久久| 91社在线播放| 日本在线不卡一区| 黄色录像a级片| 亚洲欧美日韩在线| 亚洲天堂777| 亚洲欧美日韩精品久久亚洲区| 欧美aaaxxxx做受视频| 国产欧美日韩中文字幕| 亚洲性视频大全| 欧美日韩二三区| 国产成人精品免费在线| www.97视频| 在线视频一区二区免费| 婷婷亚洲一区二区三区| 久久久久久久成人| 久久久精品区| 中文字幕一区二区三区精彩视频 | 中文字幕第66页| 国产精品色在线观看| 日韩最新av在线| 一女三黑人理论片在线| 成人免费视频免费观看| 亚洲一级生活片| 欧美日韩美女一区二区| 欧美女优在线| 欧美壮男野外gaytube| 福利片一区二区| 成人免费性视频| 高清在线成人网| 麻豆chinese极品少妇| 91精品婷婷国产综合久久竹菊| 午夜视频在线观看网站| 国产精品久久久久久久久久尿| 女厕嘘嘘一区二区在线播放 | 欧美激情20| 九色一区二区| 免费日韩视频| 小早川怜子久久精品中文字幕| 欧美性感美女h网站在线观看免费| 天天爱天天干天天操| 2020欧美日韩在线视频| 九九久久婷婷| 亚洲视频在线观看一区二区三区| 久久综合色之久久综合| 成人免费毛片男人用品| 日韩精品中文字幕在线| 伊伊综合在线| 青娱乐一区二区| 蜜桃一区二区三区四区| 日韩精品123区| 欧美不卡一区二区| 2020国产在线| 免费看污久久久| 日韩精品国产欧美| av最新在线观看| 日韩精品在线网站| 678在线观看视频| 农村寡妇一区二区三区| 日韩二区在线观看| 免费成人美女女在线观看| 91麻豆精品国产91| 高清电影在线免费观看| 精品国产一区二区三区日日嗨| 在线视频日韩| 中国女人特级毛片| 制服丝袜日韩国产| 超级白嫩亚洲国产第一| 日韩av大全| 国产伦精品一区二区三区免费迷| 欧美成人手机视频| 日韩av在线影院| 国产一区二区三区四区五区3d| 国产精品av免费| 成人国产在线观看| 亚洲第一网站在线观看| 久久精品国产清自在天天线| 成人在线视频你懂的| 黄色动漫网站入口| 国产人妖乱国产精品人妖| 国产91视频在线| 日韩免费在线视频| 亚洲乱码电影| 熟女人妻在线视频| 欧美日韩国产一二三| 成人一级福利| 色综合久久88色综合天天提莫| 国产精品一区二区黑丝| 91玉足脚交嫩脚丫在线播放| 日韩视频免费在线观看| 欧美jizz19性欧美| 一路向西2在线观看| 亚洲动漫第一页| 欧美一级二级三级区| 九九久久99| 国产 日韩 欧美大片| 中文字幕有码视频| 91精品国产高清久久久久久久久|