最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 爬蟲圖片簡單實現(xiàn)

 更新時間:2017年06月01日 14:41:56   作者:冰不語  
這篇文章主要介紹了Python 爬蟲圖片簡單實現(xiàn)的相關(guān)資料,需要的朋友可以參考下

Python 爬蟲圖片簡單實現(xiàn)

經(jīng)常在逛知乎,有時候希望把一些問題的圖片集中保存起來。于是就有了這個程序。這是一個非常簡單的圖片爬蟲程序,只能爬取已經(jīng)刷出來的部分的圖片。由于對這一部分內(nèi)容不太熟悉,所以只是簡單說幾句然后記錄代碼,不做過多的講解。感興趣的可以直接拿去用。親測對于知乎等網(wǎng)站是可用的。

上一篇分享了通過url打開圖片的方法,目的就是先看看爬取到的圖片時什么樣,然后再篩選一下保存。

這里用到了requests庫來獲取頁面信息,需要注意的是,獲取頁面信息的時候需要一個header,用以把程序偽裝成瀏覽器去訪問服務器,不然可能會被服務器拒絕。然后用BeautifulSoup來過濾多余信息得到圖片地址。得到圖片后,根據(jù)圖片的大小過濾掉一些頭像、表情包之類的小圖片。最后打開或者保存圖片的時候選擇就比較多了,OpenCV,skimage,PIL等都可以。

程序如下:

# -*- coding=utf-8 -*-
import requests as req
from bs4 import BeautifulSoup
from PIL import Image
from io import BytesIO
import os
from skimage import io

url = "https://www.zhihu.com/question/37787176"
headers = {'User-Agent' : 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Mobile Safari/537.36'}
response = req.get(url,headers=headers)
content = str(response.content)
#print content

soup = BeautifulSoup(content,'lxml')
images = soup.find_all('img')
print u"共有%d張圖片" % len(images)

if not os.path.exists("images"):
  os.mkdir("images")

for i in range(len(images)):
  img = images[i]
  print u"正在處理第%d張圖片..." % (i+1)
  img_src = img.get('src')
  if img_src.startswith("http"):
    ## use PIL
    '''
    print img_src
    response = req.get(img_src,headers=headers)
    image = Image.open(BytesIO(response.content))
    w,h = image.size
    print w,h
    img_path = "images/" + str(i+1) + ".jpg"
    if w>=500 and h>500:
      #image.show()
      image.save(img_path)

    '''

    ## use OpenCV
    import numpy as np
    import urllib
    import cv2

    resp = urllib.urlopen(img_src)

    image = np.asarray(bytearray(resp.read()), dtype="uint8")
    image = cv2.imdecode(image, cv2.IMREAD_COLOR)
    w,h = image.shape[:2]
    print w,h
    img_path = "images/" + str(i+1) + ".jpg"
    if w>=400 and h>400:
      cv2.imshow("Image", image)
      cv2.waitKey(3000)
      ##cv2.imwrite(img_path,image)

    ## use skimage

    ## image = io.imread(img_src)
    ## w,h = image.shape[:2]
    ## print w,h
    #io.imshow(image)
    #io.show()

    ## img_path = "images/" + str(i+1) + ".jpg"
    ## if w>=500 and h>500:
      ## image.show()
      ## image.save(img_path)
      ## io.imsave(img_path,image)

print u"處理完成!"

這里給出了多種選擇,供參考。

相關(guān)文章

  • Python基于二分查找實現(xiàn)求整數(shù)平方根的方法

    Python基于二分查找實現(xiàn)求整數(shù)平方根的方法

    這篇文章主要介紹了Python基于二分查找實現(xiàn)求整數(shù)平方根的方法,涉及Python的二分查找算法與數(shù)學運算相關(guān)技巧,需要的朋友可以參考下
    2016-05-05
  • 在python中求分布函數(shù)相關(guān)的包實例

    在python中求分布函數(shù)相關(guān)的包實例

    這篇文章主要介紹了在python中求分布函數(shù)相關(guān)的包實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python學生信息管理系統(tǒng)修改版

    Python學生信息管理系統(tǒng)修改版

    這篇文章主要為大家詳細介紹了python學生信息管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 圖解Python中的淺拷貝和深拷貝

    圖解Python中的淺拷貝和深拷貝

    這篇文章主要介紹了圖解Python中的淺拷貝和深拷貝,深拷貝,拷貝的程度深,自己新開辟了一塊內(nèi)存,將被拷貝內(nèi)容全部拷貝過來了,淺拷貝,拷貝的程度淺,只拷貝原數(shù)據(jù)的首地址,然后通過原數(shù)據(jù)的首地址,去獲取內(nèi)容,需要的朋友可以參考下
    2023-11-11
  • Python?編程操作連載之字符串,列表,字典和集合處理

    Python?編程操作連載之字符串,列表,字典和集合處理

    這篇文章主要介紹了Python?編程操作連載之字符串,列表,字典和集合處理,文章圍繞主題相關(guān)資料展開詳細的內(nèi)容介紹,需要的朋友可參考一下下面文章內(nèi)容
    2022-06-06
  • Selenium控制瀏覽器常見操作示例

    Selenium控制瀏覽器常見操作示例

    這篇文章主要介紹了Selenium控制瀏覽器常見操作,結(jié)合實例形式分析了Selenium針對瀏覽器的窗口大小控制、前進、后退、刷新、截屏等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • opencv+python識別七段數(shù)碼顯示器的數(shù)字(數(shù)字識別)

    opencv+python識別七段數(shù)碼顯示器的數(shù)字(數(shù)字識別)

    本文主要介紹了opencv+python識別七段數(shù)碼顯示器的數(shù)字(數(shù)字識別),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python實現(xiàn)音樂播放和下載小程序功能

    python實現(xiàn)音樂播放和下載小程序功能

    這篇文章主要介紹了python實現(xiàn)音樂播放和下載小程序功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python利用 matplotlib 繪制直方圖

    Python利用 matplotlib 繪制直方圖

    這篇文章主要介紹了Python利用 matplotlib 模塊繪制直方圖相關(guān)屬性和方法,具有一定的參考價值,需要的朋友可以參考一下
    2021-12-12
  • python實現(xiàn)微信自動回復機器人功能

    python實現(xiàn)微信自動回復機器人功能

    wxpy基于itchat,使用了 Web 微信的通訊協(xié)議,通過大量接口優(yōu)化提升了模塊的易用性,并進行豐富的功能擴展。這篇文章主要介紹了python實現(xiàn)微信自動回復機器人功能,需要的朋友可以參考下
    2019-07-07

最新評論

乳山市| 淮北市| 鄂州市| 呼和浩特市| 休宁县| 锡林浩特市| 玉田县| 天津市| 芒康县| 黄龙县| 新泰市| 高清| 都昌县| 随州市| 辽阳县| 恩平市| 隆回县| 班戈县| 陕西省| 呼伦贝尔市| 航空| 东光县| 东阿县| 嘉峪关市| 孝昌县| 鱼台县| 临泽县| 南投县| 锦州市| 正定县| 海兴县| 中超| 普安县| 陆河县| 张家口市| 阿拉善右旗| 南通市| 岳普湖县| 准格尔旗| 新民市| 义乌市|