一層地址
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行以上了。