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

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

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

      利用Python爬取網頁圖片

        最近幾天,研究了一下一直很好奇的爬蟲算法。這里寫一下最近幾天的點點心得。下面進入正文:


       

        你可能需要的工作環境:

        Python 3.6官網下載

        我們這里以sogou作為爬取的對象。

        首先我們進入搜狗圖片http://pic.sogou.com/,進入壁紙分類(當然只是個例子Q_Q),因為如果需要爬取某網站資料,那么就要初步的了解它…

      進去后就是這個啦,然后F12進入開發人員選項,筆者用的是Chrome。

      右鍵圖片>>檢查    

      發現我們需要的圖片src是在img標簽下的,于是先試著用 Python 的 requests提取該組件,進而獲取img的src然后使用 urllib.request.urlretrieve逐個下載圖片,從而達到批量獲取資料的目的,思路好了,下面應該告訴程序要爬取的url為http://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD,此url來自進入分類后的地址欄。明白了url地址我們來開始愉快的代碼時間吧:

      在寫這段爬蟲程序的時候,最好要逐步調試,確保我們的每一步操作正確,這也是程序猿應該有的好習慣。筆者不知道自己算不算個程序猿哈。線面我們來剖析該url指向的網頁。

      import requests
      import urllib
      from bs4 import BeautifulSoup
      res = requests.get('http://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD')
      soup = BeautifulSoup(res.text,'html.parser')
      print(soup.select('img'))

      output:

       

       發現輸出內容并不包含我們要的圖片元素,而是只剖析到logo的img,這顯然不是我們想要的。也就是說需要的圖片資料不在url  即 http://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD里面。因此考慮可能該元素是動態的,細心的同學可能會發現,當在網頁內,向下滑動鼠標滾輪,圖片是動態刷新出來的,也就是說,該網頁并不是一次加載出全部資源,而是動態加載資源。這也避免了因為網頁過于臃腫,而影響加載速度。下面痛苦的探索開始了,我們是要找到所有圖片的真正的url 筆者也是剛剛接觸,找這個不是太有經驗。最后找的位置F12>>Network>>XHR>>(點擊XHR下的文件)>>Preview。

      發現,有點接近我們需要的元素了,點開all_items 發現下面是0 1 2 3...一個一個的貌似是圖片元素。試著打開一個url。發現真的是圖片的地址。找到目標之后。點擊XHR下的Headers

      得到第二行

      Request URL:
      http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category=%E5%A3%81%E7%BA%B8&tag=%E5%85%A8%E9%83%A8&start=0&len=15&width=1536&height=864,試著去掉一些不必要的部分,技巧就是,刪掉可能的部分之后,訪問不受影響。經筆者篩選。最后得到的url:http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category=%E5%A3%81%E7%BA%B8&tag=%E5%85%A8%E9%83%A8&start=0&len=15  字面意思,知道category后面可能為分類。start為開始下標,len為長度,也即圖片的數量。好了,開始愉快的代碼時間吧:
       
      開發環境為Win7  Python 3.6,運行的時候Python需要安裝requests,
      Python3.6 安裝requests 應該CMD敲入:
      pip install requests
       
      筆者在這里也是邊調試邊寫,這里把最終的代碼貼出來:
       
      import requests
      import json
      import urllib
      
      def getSogouImag(category,length,path):
          n = length
          cate = category
          imgs = requests.get('http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category='+cate+'&tag=%E5%85%A8%E9%83%A8&start=0&len='+str(n))
          jd = json.loads(imgs.text)
          jd = jd['all_items']
          imgs_url = []
          for j in jd:
              imgs_url.append(j['bthumbUrl'])
          m = 0
          for img_url in imgs_url:
                  print('***** '+str(m)+'.jpg *****'+'   Downloading...')
                  urllib.request.urlretrieve(img_url,path+str(m)+'.jpg')
                  m = m + 1
          print('Download complete!')
      
      getSogouImag('壁紙',2000,'d:/download/壁紙/')

       

       
       程序跑起來的時候,筆者還是有點小激動的。來,感受一下:
       
       

       

       
       至此,關于該爬蟲程序的編程過程敘述完畢。整體來看,找到需要爬取元素所在url,是爬蟲諸多環節中的關鍵
       

       

      posted @ 2017-03-16 11:28  dearvee  閱讀(133429)  評論(6)    收藏  舉報
      主站蜘蛛池模板: 香港三级韩国三级日本三级| 乱女乱妇熟女熟妇综合网| 人妻精品无码一区二区三区| 久久精品国产色蜜蜜麻豆| 日韩精品福利视频在线观看| 精品人妻一区二区三区蜜臀| 成人性生交片无码免费看| 精品亚洲国产成人av在线| 久久久亚洲欧洲日产国码αv| 高清国产一区二区无遮挡| 国产午夜亚洲精品国产成人| 国产在线中文字幕精品| 日韩在线观看 一区二区| 最新中文乱码字字幕在线| 国产国拍亚洲精品永久软件| 在线观看免费人成视频色| 97久久超碰国产精品2021| 久久亚洲人成网站| 亚州中文字幕一区二区| 偷看少妇自慰xxxx| 国产精品久久久久无码网站| 天天澡日日澡狠狠欧美老妇| 人妻蜜臀久久av不卡| 夜夜爽77777妓女免费看| 免费无码中文字幕A级毛片| 成人免费视频一区二区三区| 久久人与动人物a级毛片| 泰安市| 国产极品精品自在线不卡| 精品国产成人三级在线观看| а∨天堂一区中文字幕| 日韩中文字幕亚洲精品一| 在线观看视频一区二区三区| 国产成人亚洲欧美二区综合| 亚洲av成人精品日韩一区| 亚洲人成网站999久久久综合 | 图们市| 成av免费大片黄在线观看| 丝袜a∨在线一区二区三区不卡 | 亚洲无码精品视频| 老鸭窝在钱视频|