首先,相信絕大部分朋友學(xué)習(xí)python的目的都是爬蟲,雖然還不知道要爬些什么,但光是想想就足夠酷炫了.所以,特此記錄下我寫第一個(gè)爬蟲的思路以及踩過的坑,希望對其他人有所幫助.
1.配置環(huán)境
本人mac+sublimetext,然后業(yè)余時(shí)間自學(xué)python,一個(gè)月之后發(fā)現(xiàn)sublime可以直接Command+b運(yùn)行python的時(shí)候,心情除了"臥槽"以及臟話之外并不想說別的...

所以 python sublime text 環(huán)境配置
2.爬蟲
廢話少說,直接開始,其實(shí)絕大部分人的問題在于不知道從哪里下手.把python的基礎(chǔ)知識都看了一遍了,還是對爬蟲一點(diǎn)思路都沒有.那就按我的思路走一遍吧(默認(rèn)各位對python基礎(chǔ)知識有一定了解了,ps:教程我也沒看完,高級特性什么的還沒弄清...)
網(wǎng)站分析
首先,我抓取的網(wǎng)站為天天美劇http://www.ttmeiju.com/(追美劇的同學(xué)應(yīng)該知道...),
瀏覽器打開首頁,我這里還是習(xí)慣火狐瀏覽器,因?yàn)橛X得審查元素確實(shí)好用,隨便點(diǎn)開一個(gè)美劇的鏈接,這里是越獄http://www.ttmeiju.com/meiju/Prison.Break.html,

夠清楚明白吧,下面這些東西就是我們要抓取的!(右鍵上圖中的百度、磁、MI圖標(biāo),審查元素就可定位到下圖)

xml解析
python的強(qiáng)大之處就是有各種強(qiáng)大的方法庫.這里我們用lxml,安裝直接 'pip install lxml'即可,(ps:安裝過程可能會出各種各樣的問題,公司一次過,家里電腦裝了一天...,有時(shí)間總結(jié)一下,有問題的可以留言)
code time
直接代碼:
def analyUrl(): url="http://www.ttmeiju.com/meiju/Prison.Break.html" response=requests.get(url).content selector = html.fromstring(response) hrefs=selector.xpath('//tbody[@id="seedlist"]/tr/td/a/@href') for x in hrefs: print x+'/n'
核心代碼 hrefs=selector.xpath('//tbody[@id="seedlist"]/tr/td/a/@href')
對照上圖 這句話的意思就是選取 id=seedlist的tbody下的tr下的td下的a的href(有學(xué)前段的請糾正一下這里正確的表達(dá)方式是什么,感謝!)
結(jié)果為下圖,"一大波"鏈接就被抓下來了!!!

這樣 最最基礎(chǔ)的爬蟲就算是完成了,雖然很小,確實(shí)是爬蟲啊(蟲子不就應(yīng)該小么!!!).
當(dāng)然,抓下來的鏈接還存在很多問題,有很多沒用的鏈接,還需要過濾什么的.
其實(shí)比較花時(shí)間的就是xpath里面的了,可以參考w3c,不過個(gè)人認(rèn)為沒必要把整個(gè)語法都弄明清,照著一個(gè)例子寫寫應(yīng)更容易理解些,所以這里有個(gè)稍微大一點(diǎn)的(抓取首頁所有電影)! 里面有不少xpath的用法,看看應(yīng)該就能照著寫了.