समस्या:
डेटा वैज्ञानिक के लिए सबसे चुनौतीपूर्ण कार्यों में से एक डेटा एकत्र करना है। जबकि तथ्य यह है कि वेब में बहुत सारे डेटा उपलब्ध हैं, यह केवल स्वचालन के माध्यम से डेटा निकाल रहा है।
परिचय..
मैं मूल संचालन डेटा निकालना चाहता था जो कि https://www.tutorialspoint.com/python/python_basic_operators.htm से HTML तालिकाओं में एम्बेडेड है।
हम्म, डेटा कई HTML तालिकाओं में बिखरा हुआ है, यदि केवल एक HTML तालिका है, तो जाहिर है कि मैं .csv फ़ाइल में कॉपी और पेस्ट का उपयोग कर सकता हूं।
हालांकि, अगर एक ही पेज में 5 से ज्यादा टेबल हैं तो जाहिर तौर पर यह दर्द है। है ना?
इसे कैसे करें..
1.यदि आप एक csv फ़ाइल बनाना चाहते हैं तो मैं आपको शीघ्रता से दिखाऊंगा कि कैसे आसानी से एक csv फ़ाइल बनाई जा सकती है।
<पूर्व>आयात csv# फ़ाइल को राइट मोड में खोलें, यदि नहीं मिली तो यह oneFile =open('test.csv', 'w+')Data =csv.writer(File)# My HeaderData.writerow(('Column1') बनाएगी , 'कॉलम 2', 'कॉलम 3'))# रेंज में मैं के लिए डेटा लिखें(20):डेटा.राइटरो((i, i+1, i+2))# मेरी फाइल को बंद करेंफाइल.क्लोज()आउटपुट
निष्पादित होने पर उपरोक्त कोड इस कोड के समान निर्देशिका में एक test.csv फ़ाइल उत्पन्न करता है।
2. अब हम https://www.tutorialspoint.com/python/python_dictionary.htm से एक HTML तालिका प्राप्त करते हैं और इसे CSV फ़ाइल के रूप में लिखते हैं।
पहला कदम आयात करना है।
<पूर्व> urllib से csv आयात करें।-
HTML फ़ाइल खोलें और urlopen का उपयोग करके इसे html ऑब्जेक्ट में संग्रहीत करें।
आउटपुट
html =urlopen(url)soup =BeautifulSoup(html, 'html.parser')
-
एचटीएमएल टेबल के अंदर टेबल ढूंढें और टेबल डेटा लाएं। प्रदर्शन के उद्देश्य से मैं केवल पहली तालिका निकाल रहा हूँ [0]
आउटपुट
टेबल =सूप.find_all('table')[0]rows =table.find_all('tr')
आउटपुट
<पूर्व>प्रिंट (पंक्तियां)आउटपुट
[, Sr.No. Function विवरण के साथ , 1 cmp(dict1, dict2) दोनों dict के तत्वों की तुलना करता है।
, 2 len(dict) शब्दकोश की कुल लंबाई देता है। यह शब्दकोश में मदों की संख्या के बराबर होगा।
, 3 str(dict) एक शब्दकोश का प्रिंट करने योग्य स्ट्रिंग प्रतिनिधित्व तैयार करता है
] 4 type(variable) पारित चर का प्रकार देता है। यदि पारित चर शब्दकोश है, तो यह एक शब्दकोश प्रकार लौटाएगा।
5.अब हम डेटा को csv फ़ाइल में लिखेंगे।
उदाहरण
फ़ाइल =open('my_html_data_to_csv.csv', 'wt+')Data =csv.writer(File)try:पंक्तियों में पंक्ति के लिए:FilteredRow =[] पंक्ति में सेल के लिए।find_all(['td', 'th ']):FilteredRow.append(cell.get_text())Data.writerow(FilteredRow)आखिरकार:File.close()
6.परिणाम अब my_html_data_to_csv.csv फ़ाइल में सहेजे गए हैं।
उदाहरण
हम ऊपर बताई गई हर चीज़ को एक साथ रखेंगे।
उदाहरण
<पूर्व> urllib से csv आयात करें। ) सूप =ब्यूटीफुल सूप (एचटीएमएल, 'एचटीएमएल.पार्सर')# पहले टैबलेट को एक्सट्रेक्ट करें =सूप.फाइंड_ऑल ('टेबल')[0] रो =टेबल.फाइंड_ऑल ('टीआर')# फाइल में कंटेंट लिखेंफाइल =ओपन 'my_html_data_to_csv.csv', 'wt+')डेटा =csv.writer(फ़ाइल)कोशिश करें:पंक्तियों में पंक्ति के लिए:FilteredRow =[]पंक्ति में सेल के लिए।find_all(['td', 'th']):FilteredRow.append (cell.get_text())Data.writerow(FilteredRow)आखिरकार:File.close()एचटीएमएल पेज में टेबल।