python實現爬蟲下載美女圖片

來源:互聯網
上載者:User
本次爬取的貼吧是百度的美女吧,給廣大男同胞們一些激勵

在爬取之前需要在瀏覽器先登入百度貼吧的帳號,各位也可以在代碼中使用post提交或者加入cookie

爬行地址:http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn=0

#-*- coding:utf-8 -*-import urllib2import reimport requestsfrom lxml import etree這些是要匯入的庫,代碼並沒有使用正則,使用的是xpath,正則困難的童鞋可以嘗試使用下推薦各位先使用基本庫來寫,這樣可以學習到更多links=[]    #遍曆url的地址k=1    print u'請輸入最後的頁數:'endPage=int(raw_input())    #最終的頁數  (r'\d+(?=\s*頁) 這是一個比較通用的正則抓取總頁數的代碼,當然最後要group#這裡是手動輸入頁數,避免內容太多for j in range(0,endPage):  url='http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn='+str(j)      #頁數的url地址  html=urllib2.urlopen(url).read()                #讀取首頁的內容  selector=etree.HTML(html)              #轉換為xml,用於在接下來識別  links=selector.xpath('//div/a[@class="j_th_tit"]/@href')        #抓取當前頁面的所有文章的url#大家可以使用瀏覽器內建的源碼查看工具,在指定目標處查看元素,這樣更快捷  for i in links:    url1="http://tieba.baidu.com"+i      #因為爬取到的地址是相對位址,所以要加上百度的domain    html2=urllib2.urlopen(url1).read()      #讀取當前頁面的內容    selector=etree.HTML(html2)          #轉換為xml用於識別    link=selector.xpath('//img[@class="BDE_Image"]/@src')    #抓取圖片,各位也可以更換為正則,或者其他你想要的內容#此處就是遍曆下載    for each in link:      #print each      print u'正在下載%d'%k      fp=open('image/'+str(k)+'.bmp','wb')      #下載在目前的目錄下 image檔案夾內,圖片格式為bmp      image1=urllib2.urlopen(each).read()        #讀取圖片的內容      fp.write(image1)                  #寫入圖片      fp.close()      k+=1    #k就是檔案的名字,每下載一個檔案就加1print u'下載完成!'

如果想要爬取其他網站的內容,大家可以參考一下

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.