read_lines() का possibly() संस्करण
हम अब भी उन URLs की सीरीज़ के साथ काम कर रहे हैं जो आपको स्क्रैप करने के लिए दी गई थीं। हम कई तरीकों से ऐसे URLs पहचानने की कोशिश कर रहे हैं जिन्हें एक्सेस नहीं किया जा सकता। ऐसा क्यों? क्योंकि वेब स्क्रैपिंग का पहला चरण यही जाँचना है कि आप URL एक्सेस कर सकते हैं या नहीं। जो कोड हम लिख रहे हैं, वह इसी काम आएगा.
पिछले अभ्यास में, हमने read_lines() फंक्शन को safely() फंक्शन के अंदर रैप किया था। इस अभ्यास में, हम possibly() फंक्शन का उपयोग करेंगे.
वेब टर्मिनोलॉजी में, 404 का मतलब होता है कि वेब पेज उपलब्ध नहीं है। यही संख्या otherwise आर्ग्युमेंट के रूप में उपयोग होगी.
साथ ही, क्योंकि read_lines() किसी वेबपेज को पढ़ते समय लंबाई n का एक वेक्टर लौटाता है, हम इन्हें paste() फंक्शन से जोड़कर कॉलेप्स करेंगे.
आपके लिए urls वेक्टर उपलब्ध कराया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr
अभ्यास निर्देश
read_lines()फंक्शन कोpossibly()कॉल में रैप करें, जो अन्यथा 404 लौटाए.इस नए बनाए गए फंक्शन को URL लिस्ट पर map करें, और इसे सीधे
set_names()में पाइप करें.इस लिस्ट के हर एलिमेंट को
paste()फंक्शन का उपयोग करके लंबाई एक के कैरेक्टर में बदलें, जहाँcollapseआर्ग्युमेंट" "सेट हो.केवल वे एलिमेंट रखें जो 404 के बराबर हों.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create a possibly() version of read_lines()
possible_read <- ___(___, otherwise = ___)
# Map this function on urls, pipe it into set_names()
res <- map(urls, ___) %>% ___(urls)
# Paste each element of the list
res_pasted <- ___(res, ___, collapse = ___)
# Keep only the elements which are equal to 404
___(res_pasted, ___)