मुझे पता है कि वेब स्क्रैपिंग के लिए openrefin एक आदर्श उपकरण नहीं है, लेकिन पहले चरण से कुछ मदद की तलाश है।

जब मैं url (https:/ लाकर कॉलम जोड़ता हूं, तो मैं openrefine से पूर्ण html कोड एकत्र नहीं कर सकता /profiles.health.ny.gov/hospital/view/103094)। वे अकॉर्डियन के तहत किसी भी कोड को शामिल नहीं करते हैं जैसे कि सेवाएं, बिस्तर के प्रकार, और आदि।

ओपनरिफाइन में लाकर पूर्ण कोड प्राप्त करने का कोई विचार? मैं प्रशासनिक के तहत जानकारी एकत्र करने का प्रयास कर रहा हूं, जिसका Xpath "//div[4]/div/ul/li" ("div#AdministrativeBox.in.collapse") है।

1
no_name 6 जून 2018, 01:15

1 उत्तर

सबसे बढ़िया उत्तर

यह वेबसाइट जावास्क्रिप्ट का उपयोग करके अपनी सामग्री को गतिशील रूप से लोड करती है। आपकी रुचि की जानकारी पृष्ठ के स्रोत कोड में संग्रहीत नहीं है, इसलिए ओपन रिफाइन इसे नहीं निकाल सकता है।

हालाँकि, एक उपाय है। अगर आप अपने यूआरएल को GREL फ़ॉर्मूला value.replace('view', 'tab_overview') से बदलते हैं, तो आपको स्क्रैपेबल पेज मिलेंगे इस तरह एक

ध्यान दें कि OpenRefine Xpath का उपयोग नहीं करता, लेकिन JSOUP चयनकर्ताओं का उपयोग करता है। "प्रशासनिक" ब्लॉक के तत्वों को प्राप्त करने के लिए, आप इस जीआरईएल सूत्र का उपयोग कर सकते हैं।

forEach(value.parseHtml().select('#AdministrativeBox li'), e, e.htmlText()).join(',')

नतीजा:

enter image description here

2
Ettore Rizza 7 जून 2018, 10:13