亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python爬蟲爬取網站圖片

發布時間:2022-01-02 17:49:12 來源:億速云 閱讀:454 作者:小新 欄目:開發技術

這篇文章主要介紹了如何使用Python爬蟲爬取網站圖片,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

此次python3主要用requests,解析圖片網址主要用beautiful soup,可以基本完成爬取圖片功能,

爬蟲這個當然大多數人入門都是爬美女圖片,我當然也不落俗套,首先也是隨便找了個網址爬美女圖片

from bs4 import BeautifulSoup
import requests
 
 
if __name__=='__main__':
    url='http://www.27270.com/tag/649.html'
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
    req = requests.get(url=url, headers=headers)
    req=requests.get(url=url,headers=headers)
    req.encoding = 'gb2312'
    html=req.text
    bf=BeautifulSoup(html,'lxml')
    targets_url=bf.find('div',class_='w1200 oh').find_all('a',target='_blank')
    for each in targets_url:
        img_req=requests.get(url=each.get('href'),headers=headers)
        img_req.encoding = 'gb2312'
        html = img_req.text
        bf = BeautifulSoup(html, 'lxml')
        img_url = bf.find('div', class_='articleV4Body').find('img')['src']
        name=each.img.get('alt')+'.jpg'
        path=r'C:\Users\asus\Desktop\新建文件夾'
        file_name = path + '\\' + name
        try:
            req1=requests.get(img_url,headers=headers)
            f=open(file_name,'wb')
            f.write(req1.content)
            f.close()
        except:
            print("some error")

期間遇到的一個情況是,它到訪問img_url的時候總報錯連接主機失敗,我開始以為是網址加了反爬之類的,但是我單獨拿出來一個網址,卻可以很容易的訪問,百思不得其解,最后咨詢大佬告訴我把img_url的每一個都試試看,可能是某一個網址出了問題,找了找果然是有個叛徒,產生的img_url中第二個網址無法訪問,怪不得老報錯,我應該多試幾個的,一葉障目

如何使用Python爬蟲爬取網站圖片

如何使用Python爬蟲爬取網站圖片

如何使用Python爬蟲爬取網站圖片如何使用Python爬蟲爬取網站圖片

如何使用Python爬蟲爬取網站圖片

我同時也是個火影迷,掌握基本方法后準備試試爬取火影圖片,也是網址找了個網址:

http://desk.zol.com.cn/dongman/huoyingrenzhe/

可以看到火影的圖片是以圖集的形式儲存的,所以這個下載就比剛才的稍微多了一點步驟

查看網站源代碼容易發現,圖集的鏈接所在都是class='photo-list-padding'的li標簽里,且鏈接沒有補全

如何使用Python爬蟲爬取網站圖片

點開其中一個鏈接, http://desk.zol.com.cn/dongman/huoyingrenzhe/(前面為瀏覽器自動補全,在代碼里需要自己補全)

可以看到圖片的下載地址以及打開本圖集下一張圖片的鏈接

如何使用Python爬蟲爬取網站圖片

了解完網站的圖片構造后動手寫代碼,我們篩選出圖集的鏈接后,通過圖集的鏈接找到第一張圖片下載地址和第二張圖片的鏈接,通過第二張的鏈接找到第二張的下載地址和第三張的鏈接,循環下去,直到本圖集到底,接著開始第二個圖集,直到所有圖集下載完畢,代碼如下,為了方便循環,我們集成下載圖片功能為download函數,解析圖片網址功能為parses_picture

from bs4 import BeautifulSoup
import requests
 
def download(img_url,headers,n):
    req = requests.get(img_url, headers=headers)
    name = '%s'%n+'='+img_url[-15:]
    path = r'C:\Users\asus\Desktop\火影壁紙1'
    file_name = path + '\\' + name
    f = open(file_name, 'wb')
    f.write(req.content)
    f.close
 
def parses_picture(url,headers,n):
    url = r'http://desk.zol.com.cn/' + url
    img_req = requests.get(url, headers=headers)
    img_req.encoding = 'gb2312'
    html = img_req.text
    bf = BeautifulSoup(html, 'lxml')
    try:
        img_url = bf.find('div', class_='photo').find('img').get('src')
        download(img_url,headers,n)
        url1 = bf.find('div',id='photo-next').a.get('href')
        parses_picture(url1,headers,n)
    except:
        print(u'第%s圖片集到頭了'%n)
 
if __name__=='__main__':
    url='http://desk.zol.com.cn/dongman/huoyingrenzhe/'
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
    req = requests.get(url=url, headers=headers)
    req=requests.get(url=url,headers=headers)
    req.encoding = 'gb2312'
    html=req.text
    bf=BeautifulSoup(html,'lxml')
    targets_url=bf.find_all('li',class_='photo-list-padding')
    n=1
    for each in targets_url:
        url = each.a.get('href')
        parses_picture(url,headers,n)
        n=n+1

期間遇到的一個情況是每次一個圖集到底的時候,就會產生報錯,因為找不到下一張圖片的鏈接了,于是我便加上try語句來捕捉這一報錯,讓程序繼續下去,有了bf果然比正則表達式簡單,可以通過標簽屬性很方便的找到想要的信息。

下載情況

如何使用Python爬蟲爬取網站圖片

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Python爬蟲爬取網站圖片”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江华| 固阳县| 嘉义市| 雷州市| 方城县| 进贤县| 安溪县| 临夏市| 德昌县| 蒙阴县| 车险| 永新县| 页游| 晋中市| 固镇县| 且末县| 榆中县| 云梦县| 兖州市| 德令哈市| 星座| 隆德县| 扎囊县| 筠连县| 恩平市| 安陆市| 苍南县| 桓台县| 六安市| 维西| 和静县| 华宁县| 吉安县| 涿州市| 宣威市| 武宁县| 科尔| 大方县| 孝义市| 凤凰县| 元朗区|