花瓣圖片的加載使用了延遲加載的技術,源代碼只能下載20多張圖片,修改后基本能下載所有的了,只是速度有點慢,后面再優化下
import urllib, urllib2, re, sys, os,requests path=r"C:\wqa\beautify" url = 'http://huaban.com/favorite/beauty' #http://huaban.com/explore/zhongwenlogo/?ig1un9tq&max=327773629&limit=20&wfl=1 i_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36"} count=0 def urlHandle(url): req = urllib2.Request(url, headers=i_headers) html = urllib2.urlopen(req).read() reg = re.compile(r'"pin_id":(\d+),.+?"file":{"farm":"farm1", "bucket":"hbimg",.+?"key":"(.*?)",.+?"type":"image/(.*?)"', re.S) groups = re.findall(reg, html) return groups def imgHandle(groups): if groups: for att in groups: pin_id = att[0] att_url = att[1] + '_fw236' img_type = att[2] img_url = 'http://img.hb.aicdn.com/' + att_url r = requests.get(img_url) with open(path + att_url + '.' + img_type, 'wb') as fd: for chunk in r.iter_content(): fd.write(chunk) groups = urlHandle(url) imgHandle(groups) while(groups): count+=1 print count pin_id = groups[-1][0] print pin_id urltemp = url+'/?max=' + str(pin_id) + '&limit=' + str(20) + '&wfl=1' print(urltemp) groups = urlHandle(urltemp) #print groups imgHandle(groups)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
