How to extract all words between <text></text> from big xml file (1.3 gb) whose structure is as follows:
<mediawiki xmlns="http://ift.tt/1HTZGYu" xmlns:xsi="http://ift.tt/ra1lAU" xsi:schemaLocation="http://ift.tt/1HTZGYu http://ift.tt/1xJT642" version="0.10" xml:lang="pl">
<siteinfo>
<sitename>Wikipedia</sitename>
<dbname>plwiki</dbname>
<base>http://ift.tt/1xJT4t5;
<generator>MediaWiki 1.25wmf12</generator>
<case>first-letter</case>
<namespaces>
<namespace key="-2" case="first-letter">Media</namespace>
<namespace key="-1" case="first-letter">Specjalna</namespace>
<namespace key="0" case="first-letter" />
<namespace key="1" case="first-letter">Dyskusja</namespace>
<namespace key="2" case="first-letter">Wikipedysta</namespace>
<namespace key="3" case="first-letter">Dyskusja wikipedysty</namespace>
<namespace key="4" case="first-letter">Wikipedia</namespace>
<namespace key="5" case="first-letter">Dyskusja Wikipedii</namespace>
<namespace key="6" case="first-letter">Plik</namespace>
<namespace key="7" case="first-letter">Dyskusja pliku</namespace>
<namespace key="8" case="first-letter">MediaWiki</namespace>
<namespace key="9" case="first-letter">Dyskusja MediaWiki</namespace>
<namespace key="10" case="first-letter">Szablon</namespace>
<namespace key="11" case="first-letter">Dyskusja szablonu</namespace>
<namespace key="12" case="first-letter">Pomoc</namespace>
<namespace key="13" case="first-letter">Dyskusja pomocy</namespace>
<namespace key="14" case="first-letter">Kategoria</namespace>
<namespace key="15" case="first-letter">Dyskusja kategorii</namespace>
<namespace key="100" case="first-letter">Portal</namespace>
<namespace key="101" case="first-letter">Dyskusja portalu</namespace>
<namespace key="102" case="first-letter">Wikiprojekt</namespace>
<namespace key="103" case="first-letter">Dyskusja wikiprojektu</namespace>
<namespace key="828" case="first-letter">Moduł</namespace>
<namespace key="829" case="first-letter">Dyskusja modułu</namespace>
</namespaces>
</siteinfo>
<page>
<title>AWK</title>
<ns>0</ns>
<id>2</id>
<revision>
<id>40933900</id>
<parentid>38565213</parentid>
<timestamp>2014-11-12T13:48:35Z</timestamp>
<contributor>
<username>ToSter</username>
<id>70424</id>
</contributor>
<minor />
<comment>[[WP:SK]], drobne techniczne</comment>
<model>wikitext</model>
<format>text/x-wiki</format>
<text xml:space="preserve">{{Język programowania infobox
Elektrony znajdujące się na najdalszej powłoce w atomie nazywane są [[Elektron walencyjny|walencyjnymi]], a ich powłoka − [[powłoka walencyjna|walencyjną]]. Liczba takich elektronów determinuje właściwości chemiczne atomów. Atomy, w których powłoka walencyjna nie jest w pełni wypełniona, łatwo oddziałują z innymi atomami, tak aby uzupełnić (lub opróżnić) tę powłokę<ref>{{Cytuj stronę | url = http://ift.tt/1HTZGYK | tytuł = Virtual Textbook of Organic Chemistry | data dostępu = 2008-01-11 | nazwisko = Reusch | imię = William | data = 2007-07-16 | opublikowany = Michigan State University}}</ref>. Odbywa się to poprzez [[reakcja chemiczna|reakcje chemiczne]], czyli procesy tworzenia i zrywania [[wiązanie chemiczne|wiązań chemicznych]].
Wiązania powstają w efekcie uwspólniania elektronów przez dwa lub więcej atomów ([[wiązanie kowalencyjne]]) albo na skutek przeniesienia elektronów z jednego atomu na drugi ([[wiązanie jonowe]]). W pierwszym przypadku współdzielone elektrony tworzą jedną, wspólną chmurę wokół połączonych atomów, a w drugim atomy łączą się w [[para jonowa|pary jonowe]], przyciągane do siebie [[oddziaływanie elektrostatyczne|oddziaływaniem elektrostatycznym]]. O typie wiązania decyduje różnica [[elektroujemność|elektroujemności]] atomów<ref>{{cytuj
stronę|url=http://ift.tt/1xJT4Jj (Electrovalent) Bonding|autor=Jim Clark|data= 2000|opublikowany=chemguide|język=en|data dostępu=2010-09-09}}</ref><ref>{{Cytuj stronę | url = http://ift.tt/1ilJs1z | tytuł = Covalent bonding – Single bonds | rok = 2000 | opublikowany = chemguide}}</ref>.
|logo =
|nazwa = AWK
</text>
<sha1>6fsbyepqq15mfrk3co2i3ck0o4svz1n</sha1>
</revision>
</page>
<page>
<title>Alergologia</title>
<ns>0</ns>
<id>4</id>
<revision>
<id>41351093</id>
<parentid>35063052</parentid>
<timestamp>2014-12-27T16:38:14Z</timestamp>
<contributor>
<username>Mishu57</username>
<id>632110</id>
</contributor>
<comment>/* Linki zewnętrzne */ commons</comment>
<model>wikitext</model>
<format>text/x-wiki</format>
<text xml:space="preserve">'''Alergologia''' - dziedzina [[medycyna|medycyny]] zajmująca się rozpoznawaniem i [[leczenie|leczeniem]] [[alergia|schorzeń alergicznych]].
== Zobacz też ==
{{wikisłownik|alergologia}}
* [[alergen]]
== Linki zewnętrzne ==
{{commonscat|Allergology}}
* [http://www.pta.med.pl/ Polskie Towarzystwo Alergologiczne]
* [http://ift.tt/1HTZEQl Portal Lekarzy Alergologów 'alergologia.org']
* [http://alergie.mp.pl/ Alergie.mp.pl, serwis wydawnictwa Medycyna Praktyczna]
{{Zastrzeżenia|Medycyna}}
{{Specjalności medyczne}}
[[Kategoria:Alergologia| ]]
[[Kategoria:Specjalności lekarskie]]</text>
<sha1>5sgz8sbnobk66fyywx5p8v366s5p5zu</sha1>
</revision>
</page>
And save it to txt file like:
Jezyk
programowania
infobox
...
alergologia
dziedzina
medycyna
...
All special characters like [', *, [ , &] should be cut out. It has many <text> sections. How to do this in python (I don't have much ram memory in my pc, so it should iterate somehow).
Could you help me, please?
No comments:
Post a Comment