ਜਦੋਂ ਕਿ ਬਹੁਤ ਸਾਰੇ ਹੋਰ ਲੇਖ ਡੇਟਾ ਕੱractਣ ਦੇ ਤਰੀਕੇ ਨਾਲ ਸੰਬੰਧਿਤ ਹਨ ਇਸ ਲੇਖ ਵਿਚ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਕਿਵੇਂ ਕੱractedੇ ਗਏ ਡੇਟਾ ਨੂੰ ਸੁਧਾਰੀ ਜਾ ਸਕਦਾ ਹੈ ਇਸ ਲਈ ਸਿਰਫ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਬਾਕੀ ਹੈ. ਇਸ ਨੂੰ ਖਾਸ ਕਰਨ ਲਈ Criteria ਵਿਧੀਆਂ ਇਸਤੇਮਾਲ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਜਦੋਂ ਕਿ ਹੇਠ ਲਿਖੀਆਂ ਸਾਰੀਆਂ ਉਦਾਹਰਣਾਂ ਵਿੱਚ ਇੱਕ HTML ਟੇਬਲ ਤੋਂ ਡਾਟਾ ਕੱ extਿਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਡੇਟਾ ਨੂੰ ਵੱਖ ਵੱਖ ਵੱਖ ਸਰੋਤਾਂ ਤੋਂ ਕੱractedਿਆ ਜਾ ਸਕਦਾ ਹੈ ਜਿੰਨਾ ਚਿਰ ਡਾਟਾ ਸਮੱਗਰੀ ਦੇ ਹਰੇਕ ਸਰੋਤ ਡਿਵ, ਸਪੈਨ, ਚਿੱਤਰ ਆਦਿ ਇੱਕੋ ਲੰਬਾਈ ਦੇ ਹੁੰਦੇ ਹਨ.
Criteria
ਹੇਠਾਂ ਇਸ ਟੇਬਲ ਵਿੱਚ ਟੇਬਲ ਡੇਟਾ ਨੂੰ ਸਕ੍ਰੈਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਇਸ ਟੇਬਲ ਵਿੱਚ, ਚਾਰ ਕਾਲਮ ਸ਼ਾਮਲ ਹਨ ਦਾ ਸਿਰਲੇਖ, ਲੇਖਕ, ਕਿਤਾਬ ਦੀ ਉਮਰ ਅਤੇ ਸਥਿਤੀ ਨੂੰ.
var titles = Page.getTagValues({"position":1,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}}); var authors = Page.getTagValues({"position":2,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}}); var ages = Page.getTagValues({"position":3,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}}); var statuses = Page.getTagValues({"position":4,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}});
ਅਕਸਰ ਸਕ੍ਰੈਪਡ ਡੇਟਾ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ ਤਾਂ ਜੋ ਉਨ੍ਹਾਂ ਕੋਲ ਸਿਰਫ ਉਹ ਜਾਣਕਾਰੀ ਹੋਵੇ ਜੋ ਉਹ ਲੋੜੀਂਦੇ ਹਨ. ਇਹ ਉਹ ਥਾਂ ਹੈ ਜਿਥੇ Criteria ਫੰਕਸ਼ਨ ਵਰਤੇ ਜਾਂਦੇ ਹਨ. ਉਦਾਹਰਣ ਦੇ ਲਈ ਜੇ ਸਿਰਫ ਪ੍ਰਕਾਸ਼ਤ ਕਿਤਾਬਾਂ ਦੀ ਜਰੂਰਤ ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ ਉਪਰੋਕਤ ਸਥਿਤੀਆਂ ਦੇ ਕਾਲਮ ਨੂੰ ਪ੍ਰਕਾਸ਼ਤ ਕਰਨ ਤਕ ਸੀਮਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੋਏਗੀ ਅਤੇ ਫਿਰ ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਦੂਸਰੇ ਕਾਲਮ ਡੇਟਾ ਤੇ ਉਹਨਾਂ ਬਦਲਾਵ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਪਏਗਾ.
Criteria.create(); statuses = Criteria.equals(statuses, "Published"); titles = Criteria.apply(titles); authors = Criteria.apply(authors); ages = Criteria.apply(ages);
ਵਰਤਣ ਵੇਲੇ Criteria ਡੇਟਾ ਨੂੰ ਘਟਾਉਣ ਦੇ methodsੰਗ, ਸਾਰੇ ਬਦਲਾਅ ਇੱਕ ਸਮੇਂ ਇੱਕ ਹੀ ਕਾਲਮ ਤੇ ਲਾਗੂ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ, ਤੋਂ ਪਹਿਲਾਂ apply methodੰਗ ਦੀ ਵਰਤੋਂ ਕਿਸੇ ਹੋਰ ਕਾਲਮਾਂ ਤੇ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਸ ਨਾਲ ਸੰਬੰਧਿਤ ਰਿਕਾਰਡ ਹਟਾ ਦਿੱਤੇ ਜਾਣ. ਇੱਕ ਵਾਰ ਪੂਰਾ ਕਰੋ Criteria.create() ਕਿਸੇ ਹੋਰ ਕਾਲਮਾਂ ਲਈ ਮਾਪਦੰਡ ਤਹਿ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ methodੰਗ ਨੂੰ ਬੁਲਾਉਣਾ ਪੈਂਦਾ ਹੈ. ਇਹ ਇਸ ਕਾਰਨ ਕਰਕੇ ਹੈ ਕਿ ਇਸਨੂੰ ਬੁਲਾਉਣਾ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ ਹੈ Criteria.create() ਕਿਸੇ ਵੀ ਹੋਰ ਮਾਪਦੰਡ ਦੇ ਤਰੀਕਿਆਂ ਤੋਂ ਪਹਿਲਾਂ.
apply
Criteria.create()
ਉਦਾਹਰਣ ਵਿੱਚ ਸਥਿਤੀ ਨੂੰ ਕਾਲਮ ਸਿਰਫ ਸ਼ਾਮਲ ਕਰਨ ਤੱਕ ਸੀਮਤ ਕੀਤਾ ਗਿਆ ਹੈ ਪ੍ਰਕਾਸ਼ਿਤ, ਫਿਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ Criteria.apply ਸਾਰੇ ਕਾਲਮਾਂ ਨੂੰ ਇਕਸਾਰ ਰੱਖਣ ਲਈ ਤਿੰਨ ਹੋਰ ਕਾਲਮਾਂ ਵਿਚਲੇ umnsੰਗ ਨੂੰ ਵੀ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ. ਯਾਦ ਰੱਖੋ ਕਿ ਲਾਗੂ ਕਰਨ ਦਾ ਤਰੀਕਾ ਕੇਵਲ ਤਾਂ ਹੀ ਲਾਭਦਾਇਕ ਹੈ ਜੇਕਰ ਵੱਖੋ ਵੱਖਰੇ ਕਾਲਮਾਂ ਵਿੱਚ ਇੱਕੋ ਜਿਹੀ ਗਿਣਤੀ ਦੇ ਰਿਕਾਰਡ ਹੋਣ.
Criteria.apply
ਕਈ ਤਰੀਕਿਆਂ ਨਾਲ ਡਾਟਾ ਨੂੰ ਸੀਮਤ ਕਰਨ ਲਈ ਕ੍ਰਿਟੀਰੀਆ ਨੂੰ ਵੀ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ. ਹੇਠਾਂ ਦਿੱਤੀ ਉਦਾਹਰਣ ਕਿਤਾਬ ਦੀ ਉਮਰ ਕਾਲਮ ਨੂੰ ਇਕ ਤੋਂ ਪੁਰਾਣੀ ਪਰ ਪੰਜ ਸਾਲ ਤੋਂ ਘੱਟ ਪੁਰਾਣੀਆਂ ਕਿਤਾਬਾਂ ਤੇ ਪ੍ਰਤੀਬੰਧਿਤ ਕਰਦੀ ਹੈ Criteria.lessThan() ਅਤੇ Criteria.greaterThan() ਵਿਧੀਆਂ
Criteria.lessThan()
Criteria.greaterThan()
Criteria.create(); ages = Criteria.greaterThan(ages, 1); ages = Criteria.lessThan(ages, 5); titles = Criteria.apply(titles); authors = Criteria.apply(authors); statuses = Criteria.apply(statuses);
ਕਈ ਵਾਰ ਡੁਪਲਿਕੇਟ ਡਾਟਾ ਹੁੰਦਾ ਹੈ ਜਿਸ ਨੂੰ ਹਟਾਉਣ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ, ਇਸ ਜਾਣਕਾਰੀ ਨੂੰ ਹਟਾਉਣ ਲਈ ਤੁਸੀਂ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ Criteria.unique ਵਿਧੀ
Criteria.unique
Criteria.create(); titles = Criteria.unique(titles); authors = Criteria.apply(authors); ages = Criteria.apply(ages); statuses = Criteria.apply(statuses);
ਹੁਣ ਸਿਰਲੇਖ ਟਕਰਾਅ ਦੇ ਅਧਾਰ ਤੇ ਕਿਸੇ ਵੀ ਡੁਪਲਿਕੇਟ ਕਤਾਰਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ. ਅਗਲਾ methodੰਗ ਹੈ Criteria.remove .ੰਗ. ਇਹ ਕਾਲਮ ਤੋਂ ਆਈਟਮਾਂ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ ਜੇ ਉਹ ਕਾਲਮ ਮੁੱਲ ਐਰੇ ਪੈਰਾਮੀਟਰ ਵਿੱਚ ਪਾਏ ਜਾਂਦੇ ਹਨ.
Criteria.remove
var authorsToRemove = ["Mike","Rachel"]; Criteria.create(); titles = Criteria.remove(authors, authorsToRemove); authors = Criteria.apply(titles); ages = Criteria.apply(ages); statuses = Criteria.apply(statuses);
ਇੱਥੇ ਲੇਖਕਾਂ ਦੇ ਕਾਲਮ ਵਿਚਲੇ ਸਾਰੇ ਰਿਕਾਰਡ ਜੋ ਮਾਈਕ ਅਤੇ ਰਾਚੇਲ ਦੇ ਬਰਾਬਰ ਹਨ ਲਾਗੂ ਕਰਨ ਦੀ ਵਿਧੀ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਫਿਰ ਦੂਜੇ ਕਾਲਮਾਂ ਤੋਂ ਸੰਬੰਧਿਤ ਰਿਕਾਰਡਾਂ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ.