<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      python爬取百度圖片

      1. 首先通過urllib獲取網(wǎng)頁的源碼

      # 定義一個(gè)getHtml()函數(shù)
      def getHtml(url):
          try:
              page = urllib.urlopen(url)  # urllib.urlopen()方法用于打開一個(gè)URL地址
              html = page.read()  # read()方法用于讀取URL上的數(shù)據(jù)
          except Exception as e:
              html = ''
          return html

      2. 獲取下一頁的url鏈接,當(dāng)本頁的圖片鏈接獲取完畢,再繼續(xù)獲取下一頁的。使用Python正則表達(dá)式匹配需要的字段

      # 得到下一頁的url
      def get_page_url(html):
          url_reg = r'<a href="(.*)">下一頁</a>'
          url_pattern = re.compile(url_reg)
          fanye_urls = url_pattern.findall(html)
          fanye_url = 'https://tieba.baidu.com' + fanye_urls[0] if fanye_urls else ''
          return fanye_url

      3. 獲取每一頁的圖片鏈接,將之放入一個(gè)總的數(shù)組,最后通過鏈接下載圖片

      def getImg(html):
          img_reg = r'https://.[^\s]+?.jpg|https://.[^\s]+?.png'  # 正則表達(dá)式,得到圖片地址
          img_pattern = re.compile(img_reg)  # re.compile() 可以把正則表達(dá)式編譯成一個(gè)正則表達(dá)式對(duì)象.
          imgList = img_pattern.findall(html)  # img_pattern.findall() 方法讀取html 中包含 img_reg(正則表達(dá)式)的  數(shù)據(jù),數(shù)組形式
          return imgList

      4. 下載圖片。使用urllib.urlretrieve()方法,直接根據(jù)鏈接將圖片下載到本地

      def down_img(imgList):
          x = 0
          for imgUrl in imgList:
              try:
                  # 核心是urllib.urlretrieve()方法,直接將遠(yuǎn)程數(shù)據(jù)下載到本地,圖片通過x依次遞增命名
                  urllib.urlretrieve(imgUrl, 'E:\img\%s.jpg' % str(x + 1))
                  print '成功下載第%s張圖片時(shí):%s' % (str(x + 1), str(imgUrl))
                  x += 1
              except Exception as e:
                  print '下載第%s張圖片時(shí)失敗:%s' % (str(x + 1), str(imgUrl))
                  print e
                  continue
          return imgList

      5. 先爬取第一頁的圖片鏈接,然后通過while循環(huán),繼續(xù)讀取第二頁,.....,等到最后,將所有從網(wǎng)上爬取的圖片鏈接使用extend()方法放入總的數(shù)組內(nèi),然后統(tǒng)一下載

      all_img_urls = []
          # 得到網(wǎng)頁源碼
          html = getHtml("https://tieba.baidu.com/p/5407739329")
          fanye_url = get_page_url(html)
          # 得到圖片鏈接的數(shù)組
          imgList = getImg(html)
          # 將imgList數(shù)組存入總的圖片數(shù)組內(nèi)
          all_img_urls.extend(imgList)
          fanye_count = 0  # 累計(jì)翻頁數(shù)
          while 1:
              try:
                  next_html = getHtml(fanye_url)
                  fanye_url = get_page_url(next_html)
                  next_imgList = getImg(next_html)
                  fanye_count += 1
                  print('第%s頁' % fanye_count)
                  all_img_urls.extend(next_imgList)
                  if fanye_url == '' and next_imgList == []:
                      print('已到最后一頁, 開始下載:')
                      break
              except Exception as e:
                  print e
                  continue
          down_img(all_img_urls)

      總的代碼如下:

      # coding=utf-8
      """下載百度貼吧內(nèi)的圖片"""
      import re
      import urllib
      
      
      # 定義一個(gè)getHtml()函數(shù)
      def getHtml(url):
          try:
              page = urllib.urlopen(url)  # urllib.urlopen()方法用于打開一個(gè)URL地址
              html = page.read()  # read()方法用于讀取URL上的數(shù)據(jù)
          except Exception as e:
              html = ''
          return html
      
      
      # 得到下一頁的url
      def get_page_url(html):
          url_reg = r'<a href="(.*)">下一頁</a>'
          url_pattern = re.compile(url_reg)
          fanye_urls = url_pattern.findall(html)
          fanye_url = 'https://tieba.baidu.com' + fanye_urls[0] if fanye_urls else ''
          return fanye_url
      
      
      def getImg(html):
          img_reg = r'https://.[^\s]+?.jpg|https://.[^\s]+?.png'  # 正則表達(dá)式,得到圖片地址
          img_pattern = re.compile(img_reg)  # re.compile() 可以把正則表達(dá)式編譯成一個(gè)正則表達(dá)式對(duì)象.
          imgList = img_pattern.findall(html)  # img_pattern.findall() 方法讀取html 中包含 img_reg(正則表達(dá)式)的  數(shù)據(jù),數(shù)組形式
          return imgList
      
      
      def down_img(imgList):
          x = 0
          for imgUrl in imgList:
              try:
                  # 核心是urllib.urlretrieve()方法,直接將遠(yuǎn)程數(shù)據(jù)下載到本地,圖片通過x依次遞增命名
                  urllib.urlretrieve(imgUrl, 'E:\img\%s.jpg' % str(x + 1))
                  print '成功下載第%s張圖片時(shí):%s' % (str(x + 1), str(imgUrl))
                  x += 1
              except Exception as e:
                  print '下載第%s張圖片時(shí)失敗:%s' % (str(x + 1), str(imgUrl))
                  print e
                  continue
          return imgList
      
      
      if __name__ == '__main__':
          all_img_urls = []
          # 得到網(wǎng)頁源碼
          html = getHtml("https://tieba.baidu.com/p/5407739329")
          fanye_url = get_page_url(html)
          # 得到圖片鏈接的數(shù)組
          imgList = getImg(html)
          # 將imgList數(shù)組存入總的圖片數(shù)組內(nèi)
          all_img_urls.extend(imgList)
          fanye_count = 0  # 累計(jì)翻頁數(shù)
          while 1:
              try:
                  next_html = getHtml(fanye_url)
                  fanye_url = get_page_url(next_html)
                  next_imgList = getImg(next_html)
                  fanye_count += 1
                  print('第%s頁' % fanye_count)
                  all_img_urls.extend(next_imgList)
                  if fanye_url == '' and next_imgList == []:
                      print('已到最后一頁, 開始下載:')
                      break
              except Exception as e:
                  print e
                  continue
          down_img(all_img_urls)

       

      posted @ 2018-01-26 13:55  CREATE_17  閱讀(347)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产精品成人高潮av| 粉嫩av蜜臀一区二区三区| 熟女在线视频一区二区三区| 国产精品流白浆无遮挡| 一区二区三区激情都市| 激情伊人五月天久久综合| 在线播放免费人成毛片| 大地资源中文第三页| 日本一区二区久久人妻高清| 一区二区福利在线视频| 国产欧美日韩综合精品一区二区| 亚洲日韩欧美一区二区三区在线| 黑森林福利视频导航| 精品日韩亚洲av无码| 97久久久精品综合88久久| 人妻少妇偷人作爱av| 国产jizzjizz视频| 国产成人精品成人a在线观看| 婷婷色香五月综合缴缴情香蕉| 扒开双腿疯狂进出爽爽爽| 国产精品视频一区二区不卡 | 国产仑乱无码内谢| 蜜臀av无码一区二区三区| 国产va免费精品观看精品| 国产成人免费高清激情视频| 国产精品视频露脸| 欧美人成精品网站播放| 五月丁香六月狠狠爱综合 | 亚洲AV高清一区二区三区尤物| 国产一区二区av天堂热| 久久亚洲中文字幕伊人久久大| 国产精品大全中文字幕| 亚洲日韩国产二区无码| 国产视频一区二区三区四区视频| 亚洲国产一区二区三区亚瑟| 国产中文字幕日韩精品| 国产精品一码在线播放| 欧美大胆老熟妇乱子伦视频| 色噜噜久久综合伊人一本| 男人猛躁进女人免费播放| 在线一区二区中文字幕|