桌酷爬蟲一點想法

一層地址
http://www.zhuoku.com/new/index.html
http://www.zhuoku.com/new/index_2.html
http://www.zhuoku.com/new/index_211.html
二層地址
http://www.zhuoku.com/zhuomianbizhi/star-starcn/20160703144045.htm
http://www.zhuoku.com/zhuomianbizhi/star-starcn/20160704145756.htm
http://www.zhuoku.com/zhuomianbizhi/design-hand/20160704205111.htm
http://www.zhuoku.com/zhuomianbizhi/game-ctwall/20160704210520.htm
三層地址


部分代碼
import  requests
from bs4 import BeautifulSoup
a=0
def get_html_soup(url):
        try:
                r=requests.get(url)
                r.raise_for_status()
                r.encoding='GBK'
                soup=BeautifulSoup(r.text)
                return soup
        except:
                return ''

for i in range(1,212):
        if i ==1:
                url1='http://www.zhuoku.com/new/index.html'
        else:
                url1='http://www.zhuoku.com/new/index_'+str(i)+'.html'
        #print(url1)
        soup=get_html_soup(url1)
        for i in soup.find_all('a',{'class':'title'}): #找到a標籤裏class爲title的的標籤並遍歷標籤
                a=a+1
                filename=i.get('title').replace(' ','').strip()#獲取到title屬性的值
                url2= 'http://www.zhuoku.com'+i.get('href')#獲取超鏈接
                print(filename)


 注意事項:
由於網頁的編碼問題不要用windows的cmd去執行要用python自帶的IDLE執行
由於網頁有反爬的機制,所以最好有Http代理,沒有代理可以sleep幾秒鐘爬一個頁面。
 windows 一個文件夾下的文件數量不要太多,爬下來的東西要分一下類放在不同文件夾下。
重複的地址可以先爬下來存入數據庫,利用數據庫去處理,排除重複。
桌酷網站層次、地址分類實際應該是按照大陸明星、港臺明星這樣分。開頭這樣分地址層次,不是很好。
獲取到最終圖片地址可使用with() f: 這種方式保存在本地。


py代碼量實在是少,這要是用c#早就200行以上了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章