ਸੇਮਲਟ: ਪਾਈਥਨ ਨਾਲ ਵੈੱਬ ਸਕ੍ਰੈਪਿੰਗ

ਕੀ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਭਿਆਨਕ ਪਲਾਂ ਵਿਚੋਂ ਇਕ ਹੋ ਗਏ ਹੋ ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਵਾਈ-ਫਾਈ ਨਹੀਂ ਹੈ. ਜੇ ਅਜਿਹਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਮਹਿਸੂਸ ਕਰ ਚੁੱਕੇ ਹੋਵੋਗੇ ਕਿ ਤੁਸੀਂ ਆਪਣੇ ਕੰਪਿ computerਟਰ ਤੇ ਜੋ ਕੁਝ ਕਰਦੇ ਹੋ ਉਹ ਨੈੱਟ ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ. ਬੁਰੀ ਆਦਤ ਤੋਂ ਬਾਹਰ, ਤੁਸੀਂ ਆਪਣੇ ਆਪ ਨੂੰ ਆਪਣੀਆਂ ਈਮੇਲਾਂ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹੋਏ, ਆਪਣੇ ਦੋਸਤ ਦੀਆਂ ਇੰਸਟਾਗ੍ਰਾਮ ਫੋਟੋਆਂ ਵੇਖਣ ਦੇ ਨਾਲ ਨਾਲ ਉਨ੍ਹਾਂ ਦੇ ਟਵੀਟਸ ਨੂੰ ਪੜ੍ਹਦੇ ਪਾਓਗੇ.
ਕਿਉਂਕਿ ਬਹੁਤ ਸਾਰੇ ਕੰਪਿ computerਟਰ ਕੰਮ ਵਿਚ ਵੈੱਬ ਪ੍ਰਕਿਰਿਆਵਾਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ, ਇਹ ਬਹੁਤ ਸੌਖਾ ਹੋਵੇਗਾ ਜੇ ਤੁਹਾਡੇ ਪ੍ਰੋਗਰਾਮ ਵੀ getਨਲਾਈਨ ਪ੍ਰਾਪਤ ਕਰ ਸਕਣ. ਵੈਬ ਸਕ੍ਰੈਪਿੰਗ ਲਈ ਇਹ ਕੇਸ ਹੈ. ਇਸ ਵਿੱਚ ਵੈਬ ਤੋਂ ਸਮੱਗਰੀ ਨੂੰ ਡਾ downloadਨਲੋਡ ਕਰਨ ਅਤੇ ਪ੍ਰੋਸੈਸ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰੋਗਰਾਮ ਦੀ ਵਰਤੋਂ ਸ਼ਾਮਲ ਹੈ. ਉਦਾਹਰਣ ਦੇ ਲਈ, ਗੂਗਲ ਆਪਣੇ ਸਰਚ ਇੰਜਨ ਲਈ ਵੈਬ ਪੇਜਾਂ ਨੂੰ ਇੰਡੈਕਸ ਕਰਨ ਲਈ ਕਈ ਤਰਾਂ ਦੇ ਸਕ੍ਰੈਪਿੰਗ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ.

ਇੱਥੇ ਬਹੁਤ ਸਾਰੇ ਤਰੀਕੇ ਹਨ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇੰਟਰਨੈਟ ਤੋਂ ਡੇਟਾ ਨੂੰ ਖਤਮ ਕਰ ਸਕਦੇ ਹੋ. ਇਹਨਾਂ ਵਿੱਚੋਂ ਬਹੁਤ ਸਾਰੇ ਤਰੀਕਿਆਂ ਲਈ ਪਾਈਥਨ ਅਤੇ ਆਰ ਵਰਗੀਆਂ ਕਈ ਤਰ੍ਹਾਂ ਦੀਆਂ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦੀ ਕਮਾਂਡ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਉਦਾਹਰਣ ਲਈ, ਪਾਈਥਨ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਬਹੁਤ ਸਾਰੇ ਮਾਡਿ .ਲ ਜਿਵੇਂ ਕਿ ਬੇਨਤੀਆਂ, ਸੁੰਦਰ ਸੂਪ, ਵੈੱਬ ਬਰਾbਜ਼ਰ ਅਤੇ ਸੇਲੇਨੀਅਮ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ.
'ਬੇਨਤੀਆਂ' ਮੋਡੀ moduleਲ ਤੁਹਾਨੂੰ ਕਨੈਕਸ਼ਨ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ, ਨੈਟਵਰਕ ਅਸ਼ੁੱਧੀ ਅਤੇ ਡਾਟਾ ਸੰਕੁਚਨ ਵਰਗੇ ਮੁਸ਼ਕਲ ਮੁੱਦਿਆਂ ਬਾਰੇ ਆਪਣੇ ਆਪ ਨੂੰ ਚਿੰਤਾ ਕੀਤੇ ਬਿਨਾਂ ਵੈੱਬ ਤੋਂ ਅਸਾਨੀ ਨਾਲ ਫਾਈਲਾਂ ਡਾ downloadਨਲੋਡ ਕਰਨ ਦਾ ਮੌਕਾ ਦਿੰਦਾ ਹੈ. ਇਹ ਜ਼ਰੂਰੀ ਨਹੀਂ ਕਿ ਪਾਇਥਨ ਨਾਲ ਆਵੇ, ਅਤੇ ਇਸ ਲਈ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਸਨੂੰ ਸਥਾਪਤ ਕਰਨਾ ਪਏਗਾ.
ਮੋਡੀ moduleਲ ਵਿਕਸਿਤ ਕੀਤਾ ਗਿਆ ਸੀ ਕਿਉਂਕਿ ਪਾਈਥਨ ਦੇ 'urllib2' ਮੋਡੀ .ਲ ਵਿੱਚ ਬਹੁਤ ਸਾਰੀਆਂ ਮੁਸ਼ਕਲਾਂ ਹਨ ਜੋ ਇਸ ਨੂੰ ਵਰਤਣਾ ਮੁਸ਼ਕਲ ਬਣਾਉਂਦੀਆਂ ਹਨ. ਇਹ ਅਸਲ ਵਿੱਚ ਸਥਾਪਤ ਕਰਨਾ ਬਹੁਤ ਸੌਖਾ ਹੈ. ਤੁਹਾਨੂੰ ਕੀ ਕਰਨ ਦੀ ਹੈ ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ ਪਾਈਪ ਸਥਾਪਿਤ ਕਰਨ ਦੀਆਂ ਬੇਨਤੀਆਂ ਨੂੰ ਚਲਾਉਣਾ ਹੈ. ਤਦ ਤੁਹਾਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਸਧਾਰਣ ਜਾਂਚ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਕਿ ਮੈਡਿ .ਲ ਸਹੀ ਤਰ੍ਹਾਂ ਸਥਾਪਤ ਹੋਇਆ ਹੈ. ਅਜਿਹਾ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਇੰਟਰੈਕਟਿਵ ਸ਼ੈੱਲ ਵਿੱਚ '>>> ਆਯਾਤ ਬੇਨਤੀਆਂ' ਟਾਈਪ ਕਰ ਸਕਦੇ ਹੋ. ਜੇ ਕੋਈ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂ ਦਿਖਾਈ ਦਿੰਦੇ, ਤਾਂ ਇੰਸਟੌਲ ਸਫਲ ਹੋਇਆ.
ਇੱਕ ਪੰਨਾ ਡਾ downloadਨਲੋਡ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ 'ਬੇਨਤੀ.ਗੇਟ ()' ਫੰਕਸ਼ਨ ਅਰੰਭ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਫੰਕਸ਼ਨ ਡਾ downloadਨਲੋਡ ਕਰਨ ਲਈ ਇੱਕ ਯੂਆਰਐਲ ਦੀ ਇੱਕ ਸਤਰ ਲੈਂਦਾ ਹੈ ਅਤੇ ਫਿਰ ਇੱਕ 'ਜਵਾਬ' ਇਕਾਈ ਵਾਪਸ ਕਰਦਾ ਹੈ. ਇਸ ਵਿੱਚ ਵੈਬ ਸਰਵਰ ਨੇ ਤੁਹਾਡੀ ਬੇਨਤੀ ਲਈ ਵਾਪਸ ਕੀਤਾ ਜਵਾਬ ਹੈ. ਜੇ ਤੁਹਾਡੀ ਬੇਨਤੀ ਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਡਾਉਨਲੋਡ ਕੀਤੇ ਵੈੱਬ ਪੰਨੇ ਨੂੰ ਪ੍ਰਤੀਕ੍ਰਿਆ ਵਸਤੂਆਂ ਦੇ ਟੈਕਸਟ ਵੇਰੀਏਬਲ ਵਿੱਚ ਇੱਕ ਸਤਰ ਦੇ ਰੂਪ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.
ਜਵਾਬ ਆਬਜੈਕਟ ਵਿੱਚ ਅਕਸਰ ਇੱਕ ਸਟੇਟਸ ਕੋਡ ਗੁਣ ਹੁੰਦਾ ਹੈ ਜਿਸਦੀ ਵਰਤੋਂ ਤੁਸੀਂ ਇਹ ਪਤਾ ਲਗਾਉਣ ਲਈ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਤੁਹਾਡਾ ਡਾਉਨਲੋਡ ਸਫਲ ਸੀ ਜਾਂ ਨਹੀਂ. ਇਸੇ ਤਰ੍ਹਾਂ, ਤੁਸੀਂ ਇਕ ਜਵਾਬ ਆਬਜੈਕਟ 'ਤੇ' ਚੁੱਕੋ_ਫੌਰਮ_ਸਟੈਟਸ () 'ਤੇ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ. ਇਹ ਅਪਵਾਦ ਪੈਦਾ ਕਰਦਾ ਹੈ ਜੇ ਫਾਈਲ ਡਾingਨਲੋਡ ਕਰਨ ਵੇਲੇ ਕੋਈ ਗਲਤੀ ਹੋਈ ਹੈ. ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨ ਦਾ ਇਹ ਇਕ ਵਧੀਆ aੰਗ ਹੈ ਕਿ ਕੋਈ ਪ੍ਰੋਗਰਾਮ ਕਿਸੇ ਖਰਾਬ ਡਾਉਨਲੋਡ ਦੀ ਸਥਿਤੀ ਵਿਚ ਰੁਕਦਾ ਹੈ.

ਇੱਥੋਂ, ਤੁਸੀਂ ਆਪਣੀ ਡਾedਨਲੋਡ ਕੀਤੀ ਵੈੱਬ ਫਾਈਲ ਨੂੰ ਆਪਣੀ ਹਾਰਡ ਡ੍ਰਾਇਵ ਤੇ ਸਟੈਂਡਰਡ ਫੰਕਸ਼ਨਾਂ, 'ਓਪਨ ()' ਅਤੇ 'ਲਿਖੋ ()' ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਚਾ ਸਕਦੇ ਹੋ. ਹਾਲਾਂਕਿ, ਟੈਕਸਟ ਦੇ ਯੂਨੀਕੋਡ ਇੰਕੋਡਿੰਗ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਲਈ, ਤੁਹਾਨੂੰ ਬਾਈਨਰੀ ਡੇਟਾ ਦੇ ਨਾਲ ਟੈਕਸਟ ਡੇਟਾ ਨੂੰ ਬਦਲਣਾ ਪਏਗਾ.
ਇੱਕ ਫਾਈਲ ਤੇ ਡੇਟਾ ਲਿਖਣ ਲਈ, ਤੁਸੀਂ ਇੱਕ ਲੂਪ ਨਾਲ 'ਇਟਰ_ਕੋਂਟ ()' ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ. ਇਹ ਵਿਧੀ ਲੂਪ ਦੁਆਰਾ ਹਰੇਕ ਦੁਹਰਾਓ ਤੇ ਬਹੁਤ ਸਾਰਾ ਡਾਟਾ ਵਾਪਸ ਕਰਦੀ ਹੈ. ਹਰ ਇਕ ਥੋਕ ਬਾਈਟਾਂ ਵਿਚ ਹੈ, ਅਤੇ ਤੁਹਾਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨਾ ਪਏਗਾ ਕਿ ਹਰੇਕ ਥੋਕ ਵਿਚ ਕਿੰਨੇ ਬਾਈਟ ਹੋਣਗੇ. ਇਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਲਿਖਣਾ ਪੂਰਾ ਕਰ ਲਓ, 'ਕਲੋਜ਼ ()' ਤੇ ਕਾਲ ਕਰੋ ਤਾਂ ਕਿ ਫਾਈਲ ਨੂੰ ਬੰਦ ਕੀਤਾ ਜਾ ਸਕੇ, ਅਤੇ ਤੁਹਾਡੀ ਨੌਕਰੀ ਹੁਣ ਖਤਮ ਹੋ ਗਈ ਹੈ.