簡單的Python抓taobao圖片爬蟲

來源:互聯網
上載者:User
寫了一個抓taobao圖片的爬蟲,全是用if,for,while寫的,比較簡陋,入門作品。

從網頁http://mm.taobao.com/json/request_top_list.htm?type=0&page=中提取taobao模特的照片。

代碼如下:


# -*- coding: cp936 -*-
import urllib2
import urllib
mmurl="http://mm.taobao.com/json/request_top_list.htm?type=0&page="
i=0#第二頁有個人的頁面沒圖片,會出現IO錯誤
while i<15:
url=mmurl+str(i)
#print url #列印出列表的url
up=urllib2.urlopen(url)#開啟頁面,存入控制代碼中
cont=up.read()
#print len(cont)#頁面的長度
ahref=' target="target"
pa=cont.find(ahref)#找出網頁連結的頭部位置
pt=cont.find(target,pa)#找出網頁連結的尾部位置
for a in range(0,20):#如才能不把20寫入程式碼進去?如何找到檔案結尾?
urlx=cont[pa+len(ahref)-4:pt-2]#從頭部到尾部,將網頁連結存入變數
if len(urlx) < 60:#如果網頁連結長度適合【len()!!!!】
urla=urlx #那麼就準備將其列印出來
print urla #這是想要的model個人URL
#########以下開始對model個人的URL進行操作#########
mup=urllib2.urlopen(urla)#開啟model個人的頁面,存入控制代碼中
mcont=mup.read()#對model頁面的控制代碼進行讀出操作,存入mcont字串
imgh=" imgt=".jpg"
iph=mcont.find(imgh)#找出【圖片】連結的頭部位置
ipt=mcont.find(imgt,iph)#找出【圖片】連結的尾部位置
for b in range(0,10):#又是寫入程式碼····
mpic=mcont[iph:ipt+len(imgt)]#原始圖片連結,連結字元的雜訊太大
iph1=mpic.find("http")#對上面的連結再過濾一次
ipt1=mpic.find(imgt) #同上
picx=mpic[iph1:ipt1+len(imgt)]
if len(picx)<150:#仍有一些URL是“http:ss.png>.jpg”(設為100竟然會誤傷)
pica=picx #【是len(picx)<100而不是picx!!】不然會不顯示
print pica
############################
###########開始下載pica這個圖片
urllib.urlretrieve(pica,"pic\\tb"+str(i)+"x"+str(a)+"x"+str(b)+".jpg")
########### pica圖片下載完畢.(加上各迴圈體的數字,以免名字重複)
############################
iph=mcont.find(imgh,iph+len(imgh))#開始下一個迴圈
ipt=mcont.find(imgt,iph)
############model個人URL內的【圖片連結】提取完畢##########
pa=cont.find(ahref,pa+len(ahref))#將原來的頭部位作為起始點,繼續向後找下一個頭部
pt=cont.find(target,pa)#繼續找下一個尾部
i+=1

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.