ਜਿਟ-ਬ੍ਰਾਊਜ਼ਰ ਜਿਟ-4 ਪਲੇਟਫਾਰਮ ਦਾ ਹਿੱਸਾ EN-CA |

HeadlessChrome101: ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਕਿਵੇਂ Chrome ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬਹੁ-ਫੰਕਸ਼ਨ ਬ੍ਰਾਊਜ਼ਰ–ਸਰਵਰ-ਬ੍ਰਾਊਜ਼ਰ ਲੇਅਰ ਵਿੱਚ ਬਦਲਦਾ ਹੈ

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

ਇੱਕ ਸਧਾਰਨ ਸਕ੍ਰੀਨਸ਼ਾਟ ਟੂਲ ਤੋਂ ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਤੱਕ

ਅਸੀਂ ਇੱਕ ਛੋਟੇ ਕਮਾਂਡ-ਲਾਈਨ ਟੂਲ ਨਾਲ ਸ਼ੁਰੂ ਕੀਤਾ: getpage https://example.com page.png. ਇਹ ਨੇ Chrome ਨੂੰ Docker ਕੰਟੇਨਰ ਵਿੱਚ ਚਲਾਇਆ, ਪੇਜ ਤੋਂ ਰੈਂਡਰ ਕੀਤੇ example.com ਦਾ ਸਕ੍ਰੀਨਸ਼ਾਟ ਲਿਆ, ਅਤੇ ਬਾਹਰ ਆ ਗਿਆ।

ਉਪਯੋਗੀ ਸਬੂਤ ਦਾ ਸੰਕਲਪ। ਹਰ ਕਾਲ ਇੱਕ ਠੰਡੀ ਸ਼ੁਰੂਆਤ ਸੀ। ਇਸਨੂੰ ਅਨੁਵਾਦ, ਸੈਸ਼ਨ, ਜਾਂ ਸਥਿਤੀ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਪਤਾ ਸੀ। ਇਹ ਸਿਰਫ਼ ਇੱਕ ਹੈਡਲੈੱਸ ਕੈਮਰਾ ਸੀ।

ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਅਗਲਾ ਕਦਮ ਹੈ। ਇਹ ਅਜੇ ਵੀ ਅਸਲੀ Chrome ਵਰਤਦਾ ਹੈ, ਪਰ ਹੁਣ:

  • ਇਹ ਪੇਜ ਦੇ ਅੰਦਰ ਕੀ ਹੁੰਦਾ ਹੈ, ਇਸਦਾ ਲਾਗ ਰੱਖਦਾ ਹੈ।
  • ਇਹ ਜਿੱਟ-ਟੀਆਰ ਸਕ੍ਰਿਪਟ ਨੂੰ ਅਨੁਵਾਦ ਲੇਅਰ ਵਜੋਂ ਇੰਜੈਕਟ ਕਰਦਾ ਹੈ।
  • ਇਹ ਕੁਕੀ ਬੈਨਰ ਜਾਂ ਡ੍ਰੌਪਡਾਊਨ ਵਰਗੇ ਸਧਾਰਨ ਫਲੋਅਜ਼ ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦਾ ਹੈ।
  • ਇਹ ਪੂਰੀ ਤਰ੍ਹਾਂ ਅਨੁਵਾਦਿਤ HTML ਕੈਪਚਰ ਕਰਦਾ ਹੈ, ਸਿਰਫ਼ ਸਕ੍ਰੀਨਸ਼ਾਟ ਨਹੀਂ।

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

ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਪਾਈਪਲਾਈਨ 6 ਕਦਮਾਂ ਵਿੱਚ

ਉੱਚ ਪੱਧਰ 'ਤੇ, ਹਰ ਕੈਪਚਰ ਇੱਕੋ ਜਿਹੇ ਕ੍ਰਮ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ।

  1. Docker ਦੇ ਅੰਦਰ ਅਸਲੀ Chrome (ਹੈਡਲੈੱਸ) ਲਾਂਚ ਕਰੋ।
    ਅਸੀਂ Puppeteer (pptr.dev) ਵਰਤਦੇ ਹਾਂ ਉਹੀ ਇੰਜਣ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਜੋ ਆਮ ਬ੍ਰਾਊਜ਼ਰਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਪਰ ਬਿਨਾਂ ਦਿਖਾਈ ਦੇਣ ਵਾਲੀ ਵਿੰਡੋ ਦੇ। ਕੋਈ ਕਸਟਮ ਪਾਰਸਰ ਨਹੀਂ, ਕੋਈ ਨਕਲੀ ਰੈਂਡਰਿੰਗ ਨਹੀਂ।
  2. ਕੁਕੀਜ਼ ਜਾਂ ਲੌਗਇਨ ਸਥਿਤੀ ਲਾਗੂ ਕਰੋ (ਜੇ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੋਵੇ)।
    ਡੈਮੋਜ਼ ਲਈ ਜੋ ਲੌਗਇਨ ਸੈਸ਼ਨ ਦੀ ਲੋੜ ਹੈ, ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਕੁਕੀਜ਼ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਉਂਦੇ ਹਾਂ। ਕੋਈ ਬਰੂਟ ਫੋਰਸ ਨਹੀਂ, ਕੋਈ ਪਾਸਵਰਡ ਅਨੁਮਾਨ ਨਹੀਂ, ਕੋਈ ਖਾਤੇ ਨਹੀਂ ਜੋ ਅਸੀਂ ਨਿਯੰਤਰਿਤ ਨਹੀਂ ਕਰਦੇ।
  3. ਲਕਸ਼ ਪੇਜ ਨੂੰ ਬਿਲਕੁਲ ਇੱਕ ਉਪਭੋਗਤਾ ਵਾਂਗ ਲੋਡ ਕਰੋ।
    HTML, CSS, ਜਾਵਾਸਕ੍ਰਿਪਟ, ਫੌਂਟਸ, ਚਿੱਤਰ। ਅਸੀਂ ਇੰਤਜ਼ਾਰ ਕਰਦੇ ਹਾਂ networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle) ਤਾਂ ਜੋ ਹੌਲੀ ਬੰਡਲ ਅਤੇ ਫੌਂਟਸ ਲੋਡ ਹੋ ਸਕਣ।
  4. ਜਿੱਟ-ਟੀਆਰ ਸਨਿੱਪਟ ਨੂੰ ਇੱਕ ਲੇਅਰ ਵਜੋਂ ਇੰਜੈਕਟ ਕਰੋ।
    ਅਸੀਂ ਆਪਣੇ ਪੇਟੈਂਟ-ਲੰਬਿਤ ਰਨਟਾਈਮ ਕੋਡ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ ਵਾਲਾ ਸਕ੍ਰਿਪਟ ਟੈਗ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ – ਉਦਾਹਰਣ ਲਈ: