मैं एक पायथन प्रोग्राम लिखने की कोशिश कर रहा हूं जो लोगों के लिए जन्म और मृत्यु तिथियों के लिए विकिपीडिया खोज सकता है।विकिपीडिया से पार्स जन्म और मृत्यु तिथियां?
उदाहरण के लिए, अल्बर्ट आइंस्टीन का जन्म हुआ: 14 मार्च 1879; मर गया: 18 अप्रैल 1955
मैं Fetch a Wikipedia article with Python
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open('http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=Albert_Einstein&format=xml')
page2 = infile.read()
यह जहाँ तक यह जाता है काम करता है के साथ शुरू कर दिया। page2
अल्बर्ट आइंस्टीन के विकिपीडिया पेज से अनुभाग का एक्सएमएल प्रतिनिधित्व है।
और मैंने इस ट्यूटोरियल को देखा, अब मेरे पास xml प्रारूप में पृष्ठ है ... http://www.travisglines.com/web-coding/python-xml-parser-tutorial, लेकिन मुझे समझ में नहीं आता कि मैं जो जानकारी चाहता हूं उसे प्राप्त करना (जन्म और मृत्यु तिथियां) xml से बाहर कैसे प्राप्त करें। मुझे लगता है कि मुझे करीब होना चाहिए, और फिर भी, मुझे नहीं पता कि यहां से कैसे आगे बढ़ना है।
संपादित
कुछ प्रतिक्रियाओं के बाद, मैं BeautifulSoup स्थापित किया है।
import BeautifulSoup as BS
soup = BS.BeautifulSoup(page2)
print soup.getText()
{{Infobox scientist
| name = Albert Einstein
| image = Einstein 1921 portrait2.jpg
| caption = Albert Einstein in 1921
| birth_date = {{Birth date|df=yes|1879|3|14}}
| birth_place = [[Ulm]], [[Kingdom of Württemberg]], [[German Empire]]
| death_date = {{Death date and age|df=yes|1955|4|18|1879|3|14}}
| death_place = [[Princeton, New Jersey|Princeton]], New Jersey, United States
| spouse = [[Mileva Marić]]&nbsp;(1903–1919)<br>{{nowrap|[[Elsa Löwenthal]]&nbsp;(1919–1936)}}
| residence = Germany, Italy, Switzerland, Austria, Belgium, United Kingdom, United States
| citizenship = {{Plainlist|
* [[Kingdom of Württemberg|Württemberg/Germany]] (1879–1896)
* [[Statelessness|Stateless]] (1896–1901)
* [[Switzerland]] (1901–1955)
* [[Austria–Hungary|Austria]] (1911–1912)
* [[German Empire|Germany]] (1914–1933)
* United States (1940–1955)
}}
तो, बहुत करीब है, लेकिन मैं अभी भी कैसे इस प्रारूप में death_date वापस जाने के लिए पता नहीं है: मैं जहां मुद्रित कर सकते हैं मैं चरण में अब कर रहा हूँ। जब तक मैं re
के साथ चीजों को पार्स करना शुरू नहीं करता? मैं ऐसा कर सकता हूं, लेकिन मुझे लगता है कि मैं इस नौकरी के लिए गलत उपकरण का उपयोग कर रहा हूं।
एक एक्सएमएल पार्सर आपकी मदद नहीं करेगा। जेबीर्नर्डो क्या कहता है पढ़ें: जेसन प्रारूप में डेटा लाएं और एक समर्पित मेगावाट पार्सर का उपयोग करें। – georg
मैंने इसे पार करने के लिए 're' का उपयोग किए बिना/बिना पूर्ण कोड संलग्न किया है। –
कृपया, अपने उपयोगकर्ता-एजेंट द्वारा ब्राउज़र का प्रतिरूपण करने का प्रयास न करें। [विकिमीडिया उपयोगकर्ता-एजेंट नीति] के अनुसार (http://meta.wikimedia.org/wiki/User-Agent_policy), आपको "संपर्क जानकारी के साथ एक सूचनात्मक उपयोगकर्ता-एजेंट स्ट्रिंग" का उपयोग करना चाहिए। सुंदर सूप के लिए – svick