python批量爬取貓咪圖片


不多說直接上代碼

首先需要安裝需要的庫,安裝命令如下

pip install BeautifulSoup

pip install requests

pip install urllib

pip install lxmlfrom bs4 import BeautifulSoup # 貴族名寵網頁爬蟲

import requests import urllib.request # 網址
url = 'http://www.hengdadog.com/sale-1.html'
def allpage():  # 獲得所有網頁
    all_url = [] for i in range(1, 8): #循環翻頁次數
        each_url = url.replace(url[-6], str(i))  # 替換
 all_url.append(each_url) return (all_url)  # 返回地址列表

if __name__ == '__main__': img_url = allpage()  # 調用函數
    for url in img_url: # 獲得網頁源代碼
        print(url) requ = requests.get(url) req = requ.text.encode(requ.encoding).decode() html = BeautifulSoup(req, 'lxml') t = 0 # 選擇目標url
        img_urls = html.find_all('img') for k in img_urls: img = k.get('src')  # 圖片
            print(img) name = str(k.get('alt'))  # 名字,這里的強制類型轉換很重要
 type(name) # 先本地新建一下文件夾,保存圖片並且命名
            path = 'F:\\CAT\\'  # 路徑
            file_name = path + name + '.jpg' imgs = requests.get(img)     # 存儲入文件 
            try: urllib.request.urlretrieve(img, file_name) # 打開圖片地址,下載圖片保存在本
except: print("error")

運行效果:

 上面代碼有不少缺陷,比如需要手動創建目錄以及判斷目錄是否存在,下載沒有提示,於是做了些優化:

from bs4 import BeautifulSoup  # 貴族名寵網頁爬蟲
import requests
import urllib.request
import os
# 網址
url = 'http://www.hengdadog.com/sale-1.html'
if os.path.exists('F:\\CAT'):#判斷目錄是否存在,存在則跳過,不存在則創建
    pass
else:
    os.mkdir('F:\\CAT') 
def allpage():  # 獲得所有網頁
    all_url = []
    for i in range(1, 10): #循環翻頁次數
        each_url = url.replace(url[-6], str(i))  # 替換
        all_url.append(each_url)
    return (all_url)  # 返回地址列表

if __name__ == '__main__':
    img_url = allpage()  # 調用函數
    for url in img_url:
        # 獲得網頁源代碼
        print(url)
        requ = requests.get(url)
        req = requ.text.encode(requ.encoding).decode()
        html = BeautifulSoup(req, 'lxml')
        t = 0
        # 選擇目標url
        img_urls = html.find_all('img')
        for k in img_urls:
            img = k.get('src')  # 圖片
            print(img)
            name = str(k.get('alt'))  # 名字,這里的強制類型轉換很重要
            type(name)
            # 保存圖片並且命名
            path = 'F:\\CAT\\'  # 路徑      
            file_name = path + name + '.jpg'
            imgs = requests.get(img)     # 存儲入文件                                                      
            try:
                urllib.request.urlretrieve(img, file_name)  # 打開圖片地址,下載圖片保存在本地,
                print('正在下載圖片到F:\CAT目錄······')
            except:
                print("error")

打包成EXE文件:

進入文件目錄輸入如下命令

pyinstaller -F get_cat.py

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM