ਪਾਇਥਨ (ਵਿਅਕਤੀਗਤ ਤੌਰ ‘ਤੇ ਜਾਂ ਬੈਚਾਂ ਵਿੱਚ) ਵੈੱਬ ਤੋਂ ਚਿੱਤਰ ਅਤੇ ਹੋਰ ਫਾਈਲਾਂ ਡਾਊਨਲੋਡ ਕਰੋ

ਕਾਰੋਬਾਰ

ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ ਕਿ ਪਾਇਥਨ ਵਿੱਚ ਵੈੱਬ ‘ਤੇ ਇੱਕ ਚਿੱਤਰ, ZIP, PDF, ਜਾਂ ਹੋਰ ਫਾਈਲ ਦਾ URL ਕਿਵੇਂ ਨਿਰਧਾਰਿਤ ਕਰਨਾ ਹੈ, ਇਸਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਸਥਾਨਕ ਫਾਈਲ ਦੇ ਰੂਪ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਹੈ।

  • URL ਨਿਰਧਾਰਿਤ ਕਰਕੇ ਚਿੱਤਰਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ।
    • ਕੋਡ ਉਦਾਹਰਨ
    • urllib.request.urlopen():URL ਖੋਲ੍ਹੋ
    • open():ਬਾਈਨਰੀ ਮੋਡ ਵਿੱਚ ਇੱਕ ਫਾਇਲ ਨੂੰ ਲਿਖੋ
    • ਇੱਕ ਸਧਾਰਨ ਕੋਡ ਉਦਾਹਰਨ
  • ਜ਼ਿਪ ਫਾਈਲਾਂ, PDF ਫਾਈਲਾਂ, ਆਦਿ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ।
  • ਵੈੱਬ ਪੇਜ ‘ਤੇ ਚਿੱਤਰ ਦਾ URL ਐਕਸਟਰੈਕਟ ਕਰੋ।
    • ਜੇਕਰ ਸੰਖਿਆ ਕ੍ਰਮਵਾਰ ਹੈ
    • ਸੁੰਦਰ ਸੂਪ ਦੇ ਨਾਲ ਐਬਸਟਰੈਕਟ
  • ਯੂਆਰਐਲ ਦੀ ਸੂਚੀ ਤੋਂ ਬੈਚ ਕਈ ਚਿੱਤਰਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ

URL ਨਿਰਧਾਰਿਤ ਕਰਕੇ ਚਿੱਤਰਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ।

ਤੁਸੀਂ ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਸਿਰਫ਼ ਵਿਅਕਤੀਗਤ ਫਾਈਲਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ URL ਨਿਰਧਾਰਿਤ ਕਰਕੇ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹੋ; ਕੋਈ ਵਾਧੂ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਲੋੜ ਨਹੀ ਹੈ.

ਕੋਡ ਉਦਾਹਰਨ

ਹੇਠਾਂ ਦਿੱਤੇ ਇੱਕ ਫੰਕਸ਼ਨ ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਹੈ ਜੋ URL ਅਤੇ ਮੰਜ਼ਿਲ ਮਾਰਗ, ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਕੇ ਇੱਕ ਫਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ। ਇਹ ਕੋਡ ਵਿਆਖਿਆ ਦੀ ਖ਼ਾਤਰ ਥੋੜਾ ਵਰਬੋਜ਼ ਹੈ। ਇੱਕ ਸਧਾਰਨ ਉਦਾਹਰਨ ਹੇਠਾਂ ਦਿੱਤੀ ਗਈ ਹੈ।

import os
import pprint
import time
import urllib.error
import urllib.request

def download_file(url, dst_path):
    try:
        with urllib.request.urlopen(url) as web_file:
            data = web_file.read()
            with open(dst_path, mode='wb') as local_file:
                local_file.write(data)
    except urllib.error.URLError as e:
        print(e)
url = 'https://www.python.org/static/img/python-logo.png'
dst_path = 'data/temp/py-logo.png'
download_file(url, dst_path)

ਮੰਜ਼ਿਲ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਅਤੇ URL ਫਾਈਲ ਨਾਮ ਨਾਲ ਫਾਈਲ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮ ਕਰੋ

def download_file_to_dir(url, dst_dir):
    download_file(url, os.path.join(dst_dir, os.path.basename(url)))

dst_dir = 'data/temp'
download_file_to_dir(url, dst_dir)

ਇਹ os.path.basename() ਦੇ ਨਾਲ URL ਤੋਂ ਫਾਈਲ ਦਾ ਨਾਮ ਕੱਢਦਾ ਹੈ ਅਤੇ ਮੰਜ਼ਿਲ ਮਾਰਗ ਬਣਾਉਣ ਲਈ os.path.join() ਨਾਲ ਨਿਰਧਾਰਿਤ ਡਾਇਰੈਕਟਰੀ ਨਾਲ ਜੁੜਦਾ ਹੈ।

ਹੇਠਾਂ ਦਿੱਤੇ ਭਾਗ ਡੇਟਾ ਪ੍ਰਾਪਤੀ ਦੇ ਹਿੱਸੇ ਅਤੇ ਇੱਕ ਫਾਈਲ ਦੇ ਰੂਪ ਵਿੱਚ ਡੇਟਾ ਸੇਵਿੰਗ ਦੇ ਹਿੱਸੇ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹਨ।

urllib.request.urlopen():URL ਖੋਲ੍ਹੋ

URL ਨੂੰ ਖੋਲ੍ਹਣ ਅਤੇ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ urllib.request.urlopen() ਦੀ ਵਰਤੋਂ ਕਰੋ। ਨੋਟ ਕਰੋ ਕਿ urllib.urlopen() ਨੂੰ Python 2.6 ਅਤੇ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਦੇ ਵਿੱਚ ਬਰਤਰਫ਼ ਕੀਤਾ ਗਿਆ ਹੈ। urllib.request.urlretrieve() ਨੂੰ ਹਾਲੇ ਬਰਤਰਫ਼ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਪਰ ਭਵਿੱਖ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ।

ਜਦੋਂ ਕੋਈ ਅਪਵਾਦ ਹੁੰਦਾ ਹੈ ਤਾਂ ਰੋਕਣ ਤੋਂ ਬਚਣ ਲਈ, ਕੋਸ਼ਿਸ਼ ਕਰੋ ਅਤੇ ਛੱਡ ਕੇ ਗਲਤੀ ਨੂੰ ਫੜੋ।

ਉਦਾਹਰਨ ਵਿੱਚ, urllib.error ਨੂੰ ਆਯਾਤ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਸਿਰਫ਼ urllib.error.URLError ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ ‘ਤੇ ਕੈਪਚਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਫਾਈਲ ਦਾ URL ਮੌਜੂਦ ਨਹੀਂ ਹੁੰਦਾ ਤਾਂ ਗਲਤੀ ਸੁਨੇਹਾ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ ਜਾਵੇਗਾ।

url_error = 'https://www.python.org/static/img/python-logo_xxx.png'
download_file_to_dir(url_error, dst_dir)
# HTTP Error 404: Not Found

ਜੇਕਰ ਤੁਸੀਂ ਸਥਾਨਕ ਤੌਰ ‘ਤੇ ਸੁਰੱਖਿਅਤ ਕਰਦੇ ਸਮੇਂ ਅਪਵਾਦ (FileNotFoundError, ਆਦਿ) ਨੂੰ ਵੀ ਫੜਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮ ਕਰੋ।
(urllib.error.URLError, FileNotFoundError)

url ਖੋਲ੍ਹਣ ਅਤੇ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਮਿਆਰੀ ਲਾਇਬ੍ਰੇਰੀ urllib ਦੀ ਬਜਾਏ ਤੀਜੀ-ਧਿਰ ਲਾਇਬ੍ਰੇਰੀ ਬੇਨਤੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਵੀ ਸੰਭਵ ਹੈ।

ਓਪਨ() ਵਿੱਚ ਬਾਈਨਰੀ ਮੋਡ ਵਿੱਚ ਇੱਕ ਫਾਈਲ ਨੂੰ ਲਿਖੋ

ਡੇਟਾ ਜੋ urllib.request.urlopen() ਨਾਲ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਇੱਕ ਬਾਈਟ ਸਤਰ (ਬਾਈਟ ਕਿਸਮ) ਹੈ।

Open() mode=’wb’ ਨਾਲ ਦੂਜੀ ਆਰਗੂਮੈਂਟ ਬਾਈਨਰੀ ਵਜੋਂ ਡਾਟਾ ਲਿਖਦੀ ਹੈ। w ਦਾ ਅਰਥ ਹੈ ਲਿਖੋ ਅਤੇ b ਦਾ ਅਰਥ ਹੈ ਬਾਈਨਰੀ।

ਇੱਕ ਸਧਾਰਨ ਕੋਡ ਉਦਾਹਰਨ

ਕਥਨਾਂ ਨਾਲ ਨੇਸਟਡ ਨੂੰ ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕਰਕੇ, ਇੱਕੋ ਵਾਰ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।

ਇਸਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਹੇਠਾਂ ਲਿਖ ਸਕਦੇ ਹਾਂ।

def download_file(url, dst_path):
    try:
        with urllib.request.urlopen(url) as web_file, open(dst_path, 'wb') as local_file:
            local_file.write(web_file.read())
    except urllib.error.URLError as e:
        print(e)

ਜ਼ਿਪ ਫਾਈਲਾਂ, PDF ਫਾਈਲਾਂ, ਆਦਿ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ।

ਹੁਣ ਤੱਕ ਦੀਆਂ ਉਦਾਹਰਣਾਂ ਚਿੱਤਰ ਫਾਈਲਾਂ ਨੂੰ ਡਾਉਨਲੋਡ ਕਰਨ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਹਨ, ਪਰ ਕਿਉਂਕਿ ਅਸੀਂ ਵੈੱਬ ‘ਤੇ ਇੱਕ ਫਾਈਲ ਖੋਲ੍ਹ ਰਹੇ ਹਾਂ ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਸਥਾਨਕ ਫਾਈਲ ਦੇ ਰੂਪ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕਰ ਰਹੇ ਹਾਂ, ਉਹੀ ਫੰਕਸ਼ਨ ਦੂਜੀਆਂ ਕਿਸਮਾਂ ਦੀਆਂ ਫਾਈਲਾਂ ਲਈ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ।

ਤੁਸੀਂ URL ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਕੇ ਫਾਈਲਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰ ਸਕਦੇ ਹੋ।

url_zip = 'https://from-locas.com/sample_header.csv.zip'
download_file_to_dir(url_zip, dst_dir)

url_xlsx = 'https://from-locas/sample.xlsx'
download_file_to_dir(url_xlsx, dst_dir)

url_pdf = 'https://from-locas/sample1.pdf'
download_file_to_dir(url_pdf, dst_dir)

ਨੋਟ ਕਰੋ ਕਿ ਇਸ ਫੰਕਸ਼ਨ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ URL ਆਪਣੇ ਆਪ ਵਿੱਚ ਫਾਈਲ ਦਾ ਲਿੰਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, ਇੱਕ GitHub ਰਿਪੋਜ਼ਟਰੀ ਫਾਈਲ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਹੇਠਾਂ ਦਿੱਤੇ URL ਵਿੱਚ ਇੱਕ pdf ਐਕਸਟੈਂਸ਼ਨ ਹੈ ਪਰ ਅਸਲ ਵਿੱਚ ਇੱਕ html ਪੰਨਾ ਹੈ। ਜੇਕਰ ਇਹ URL ਉੱਪਰ ਦਿੱਤੇ ਫੰਕਸ਼ਨ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਤਾਂ html ਸਰੋਤ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾਵੇਗਾ।

  • https://github.com/from-locals/python-snippets/blob/master/notebook/data/src/pdf/sample1.pdf

ਫ਼ਾਈਲ ਇਕਾਈ ਦਾ ਲਿੰਕ ਹੇਠਾਂ ਦਿੱਤਾ URL ਹੈ, ਜਿਸ ਨੂੰ ਤੁਹਾਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜੇਕਰ ਤੁਸੀਂ ਫ਼ਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਸੇਵ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।

  • https://github.com/from-locals/python-snippets/raw/master/notebook/data/src/pdf/sample1.pdf

ਅਜਿਹੇ ਕੇਸ ਵੀ ਹੁੰਦੇ ਹਨ ਜਿੱਥੇ ਉਪਭੋਗਤਾ ਏਜੰਟ, ਰੈਫਰਰ, ਆਦਿ ਦੁਆਰਾ ਪਹੁੰਚ ਨੂੰ ਪ੍ਰਤਿਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਇਸਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਅਸੰਭਵ ਹੋ ਜਾਂਦਾ ਹੈ। ਅਸੀਂ ਗਾਰੰਟੀ ਨਹੀਂ ਦਿੰਦੇ ਹਾਂ ਕਿ ਸਾਰੀਆਂ ਫਾਈਲਾਂ ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ।

ਬੇਨਤੀ ਦੇ ਸਿਰਲੇਖਾਂ ਜਿਵੇਂ ਕਿ ਉਪਭੋਗਤਾ ਏਜੰਟ ਨੂੰ ਬਦਲਣ ਜਾਂ ਜੋੜਨ ਲਈ ਬੇਨਤੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਆਸਾਨ ਹੈ।

ਵੈੱਬ ਪੇਜ ‘ਤੇ ਚਿੱਤਰ ਦਾ URL ਐਕਸਟਰੈਕਟ ਕਰੋ।

ਇੱਕ ਪੰਨੇ ਵਿੱਚ ਸਾਰੀਆਂ ਤਸਵੀਰਾਂ ਨੂੰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਚਿੱਤਰਾਂ ਦੇ URL ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰੋ ਅਤੇ ਇੱਕ ਸੂਚੀ ਬਣਾਓ।

ਜੇਕਰ ਸੰਖਿਆ ਕ੍ਰਮਵਾਰ ਹੈ

ਜੇਕਰ ਚਿੱਤਰ ਦਾ URL ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਇੱਕ ਸਧਾਰਨ ਕ੍ਰਮਵਾਰ ਨੰਬਰ ਹੈ, ਤਾਂ ਇਹ ਆਸਾਨ ਹੈ। ਜੇ URL ਨਾ ਸਿਰਫ਼ ਕ੍ਰਮਵਾਰ ਸੰਖਿਆਵਾਂ ਹਨ, ਸਗੋਂ ਕੁਝ ਨਿਯਮਤਤਾ ਵੀ ਹਨ, ਤਾਂ ਸੁੰਦਰ ਸੂਪ (ਹੇਠਾਂ ਦੇਖੋ) ਨਾਲ ਸਕ੍ਰੈਪ ਕਰਨ ਦੀ ਬਜਾਏ ਨਿਯਮਾਂ ਅਨੁਸਾਰ URL ਦੀ ਸੂਚੀ ਬਣਾਉਣਾ ਸੌਖਾ ਹੈ.

ਸੂਚੀ ਸਮਝ ਸੰਕੇਤ ਦੀ ਵਰਤੋਂ ਕਰੋ।

url_list = ['https://example.com/basedir/base_{:03}.jpg'.format(i) for i in range(5)]
pprint.pprint(url_list)
# ['https://example.com/basedir/base_000.jpg',
#  'https://example.com/basedir/base_001.jpg',
#  'https://example.com/basedir/base_002.jpg',
#  'https://example.com/basedir/base_003.jpg',
#  'https://example.com/basedir/base_004.jpg']

ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਵਿੱਚ, {:03} ਨੂੰ 3-ਅੰਕ ਵਾਲੇ ਜ਼ੀਰੋ-ਭਰਿਆ ਕ੍ਰਮਵਾਰ ਨੰਬਰ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ; {} ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਦੋਂ ਜ਼ੀਰੋ-ਫਿਲਿੰਗ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੁੰਦੀ ਹੈ, ਅਤੇ {:05} ਨੂੰ 3 ਅੰਕਾਂ ਦੀ ਬਜਾਏ 5-ਅੰਕ ਵਾਲੇ ਨੰਬਰ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਸਟ੍ਰਿੰਗ ਸਟ੍ਰਿੰਗ ਦੇ ਫਾਰਮੈਟ ਵਿਧੀ ਬਾਰੇ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, ਹੇਠਾਂ ਦਿੱਤਾ ਲੇਖ ਦੇਖੋ।

ਨਾਲ ਹੀ, ਇੱਥੇ ਅਸੀਂ ਆਉਟਪੁੱਟ ਨੂੰ ਪੜ੍ਹਨ ਵਿੱਚ ਆਸਾਨ ਬਣਾਉਣ ਲਈ pprint ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ।

ਸੁੰਦਰ ਸੂਪ ਦੇ ਨਾਲ ਐਬਸਟਰੈਕਟ

ਬਲਕ ਵਿੱਚ ਵੈੱਬ ਪੰਨਿਆਂ ਤੋਂ ਚਿੱਤਰ URL ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਲਈ, ਸੁੰਦਰ ਸੂਪ ਦੀ ਵਰਤੋਂ ਕਰੋ।

import os
import time
import urllib.error
import urllib.request

from bs4 import BeautifulSoup

url = 'https://pa.from-locals.com/'
ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) '\
     'AppleWebKit/537.36 (KHTML, like Gecko) '\
     'Chrome/55.0.2883.95 Safari/537.36 '

req = urllib.request.Request(url, headers={'User-Agent': ua})
html = urllib.request.urlopen(req)

soup = BeautifulSoup(html, "html.parser")

url_list = [img.get('data-src') for img in soup.find(class_='list').find_all('img')]

ਉਦਾਹਰਨ ਵਿੱਚ, ਇਸ ਵੈੱਬਸਾਈਟ ਦੇ ਥੰਬਨੇਲ ਚਿੱਤਰ ਦਾ URL ਕੱਢਿਆ ਗਿਆ ਹੈ।

ਬਣਤਰ ਵੈੱਬ ਪੰਨੇ ‘ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਪਰ ਅਸਲ ਵਿੱਚ ਇਹ ਹੇਠ ਦਿੱਤੇ ਅਨੁਸਾਰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ.

  • ਦੀ ਇੱਕ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰੋ <img> ਬਲਾਕ ਦੀ ਕਲਾਸ, ਆਈ.ਡੀ., ਆਦਿ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਕੇ ਆਬਜੈਕਟ ਨੂੰ ਟੈਗ ਕਰੋ ਜਿਸ ਵਿੱਚ ਕਈ ਚਿੱਤਰ ਹਨ ਜੋ ਤੁਸੀਂ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
    • soup.find(class_='list').find_all('img')
  • <img> ਦੇ src ਐਲੀਮੈਂਟ ਜਾਂ ਡੇਟਾ-src ਐਲੀਮੈਂਟ ਤੋਂ ਚਿੱਤਰ ਦਾ URL ਪ੍ਰਾਪਤ ਕਰੋ। ਟੈਗ
    • img.get('data-src')

ਉਪਰੋਕਤ ਨਮੂਨਾ ਕੋਡ ਸਿਰਫ਼ ਇੱਕ ਉਦਾਹਰਨ ਹੈ ਅਤੇ ਕੰਮ ਕਰਨ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਹੈ।

ਯੂਆਰਐਲ ਦੀ ਸੂਚੀ ਤੋਂ ਬੈਚ ਕਈ ਚਿੱਤਰਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ

ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ URL ਦੀ ਇੱਕ ਸੂਚੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਲੂਪ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ ਅਤੇ ਦਿਖਾਏ ਗਏ ਪਹਿਲੇ URL ਦੇ ਨਾਲ ਫਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ। ਆਰਜ਼ੀ URL ਸੂਚੀ ਦੇ ਕਾਰਨ, ਫੰਕਸ਼ਨ ਕਾਲ download_image_dir() ਇੱਥੇ ਟਿੱਪਣੀ ਕੀਤੀ ਗਈ ਹੈ।

download_dir = 'data/temp'
sleep_time_sec = 1

for url in url_list:
    print(url)
#     download_file_dir(url, download_dir)
    time.sleep(sleep_time_sec)
# https://example.com/basedir/base_000.jpg
# https://example.com/basedir/base_001.jpg
# https://example.com/basedir/base_002.jpg
# https://example.com/basedir/base_003.jpg
# https://example.com/basedir/base_004.jpg

ਸਰਵਰ ਨੂੰ ਓਵਰਲੋਡ ਨਾ ਕਰਨ ਲਈ, ਮੈਂ ਹਰੇਕ ਚਿੱਤਰ ਡਾਊਨਲੋਡ ਲਈ ਉਡੀਕ ਸਮਾਂ ਬਣਾਉਣ ਲਈ time.sleep() ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। ਯੂਨਿਟ ਸਕਿੰਟਾਂ ਵਿੱਚ ਹੈ, ਇਸਲਈ ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਵਿੱਚ, ਸਮਾਂ ਮੋਡੀਊਲ ਆਯਾਤ ਅਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

ਉਦਾਹਰਨ ਚਿੱਤਰ ਫਾਈਲਾਂ ਲਈ ਹੈ, ਪਰ ਦੂਜੀਆਂ ਕਿਸਮਾਂ ਦੀਆਂ ਫਾਈਲਾਂ ਨੂੰ ਇਕੱਠੇ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਤੱਕ ਉਹ ਸੂਚੀਬੱਧ ਹਨ।