如何在相同的html标记之间提取数据

2024-04-26 03:09:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想拆分html文件(它是巴利-捷克语词典),并用Python将数据提取到数组或词典中:

  • 术语(粉红色)

    <p class="calibre_"><span class="bold"> TERM1 </span>

  • 定义(黄色)

    ...TERM1 </span>(→<span class="italic"> TEXT</span>).</p> <p class="calibre_"><span class="bold">TERM2....

定义文本有时很棘手,它可能包含多个段落和新行。因此,我找到了从术语的结束标记到新术语的开始标记提取文本的最安全的方法。你知道吗

数据预览:

HTML preview of the data

原始HTML数据:https://pastebin.com/FypTPnLc

我无法成功提取数据。我试过了文本.拆分方法和regex,但我找不到解决这个问题的方法。我想问一下,从这个html中提取数据的最佳方法是什么?你知道吗


Tags: 文件数据term1方法标记文本定义html
1条回答
网友
1楼 · 发布于 2024-04-26 03:09:25

这会将数据提取到列表中,其中列表中的每个项都是[term, definition]

data = """
  <p class="calibre_"><span class="bold">di­b­ba-čak­khu</span> (di­bba­cak­khu): ,bož­ský zrak‘ (dosl. ,bož­ské oko‘), je jed­nou ze šes­ti vyš­ších schop­nos­tí (→ <span class="italic">ab­hi­ň­ňá</span>) a jed­ním ze tří dru­hů vě­dě­ní (→ <span class="italic">té­vi­dždžá</span>).</p>

  <p class="calibre_"><span class="bold">di­b­ba-lóka</span> (di­bba­lo­ka): ne­beský svět; →<span class="italic"> déva</span>.<br class="calibre2"/>
<span class="bold">di­b­ba-sóta</span> (di­bba­so­ta): ,bož­ský sluch‘, je jed­nou z šes­ti vyš­ších schop­nos­tí (→ <span class="italic">ab­hi­ň­ňá</span>). </p>

  <p class="calibre_"><span class="bold">di­b­ba-vi­há­ra</span> (di­bba­vi­hā­ra): →<span class="italic"> vi­há­ra</span>.<br class="calibre2"/>
<span class="bold">dis­ci­plí­na</span> (eti­ka): →<span class="italic"> síla</span>.</p>

  <p class="calibre_"><span class="bold">dit­tha-dha­m­ma-véda­ní­ja-ka­m­ma</span> (diṭṭhad­ha­m­ma­ve­da­nīyaka­m­ma): kar­ma, kte­rá při­ná­ší plo­dy ješ­tě v tom­to ži­vo­tě; →<span class="italic"> kar­ma</span>. </p>

  <p class="calibre_"><span class="bold">dit­thi</span> (diṭṭhi): ,ná­zor‘ či ,pře­svěd­če­ní‘ (dosl. ,vi­dě­ní‘, od ko­ře­ne <span class="italic">dis</span> − ,vi­dět‘). Když není ve spo­je­ní s vý­ra­zem <span class="italic">sa­m­má </span>(správ­ný), od­ka­zu­je vět­ši­nou k ne­správ­né­mu či ne­pro­spěš­né­mu ná­zo­ru a jen v ně­ko­li­ka málo pří­pa­dech ke správ­né­mu ná­zo­ru, po­cho­pe­ní či vhle­du (na­pří­klad →<span class="italic"> dit­thip­pat­ta</span>; <span class="italic">dit­thi-vi­sudd­hi</span> − očiš­tě­ní ná­zo­ru; <span class="italic">dit­thi-sam­pan­na</span> − ob­da­ře­ný vhle­dem).</p>

  <p class="calibre_"> Ne­pro­spěš­né či ne­správ­né ná­zo­ry (<span class="italic">dit­thi</span> či<span class="italic"> miččhá-dit­thi</span>) jsou pro­hlá­še­ny za zce­la za­vr­že­ní­hod­né, ne­boť jsou zdro­jem špat­ných cílů a jed­ná­ní a mo<br class="calibre2"/> dit­thi dit­thi<br class="calibre2"/> hou člo­vě­ka ča­sem za­vést do nej­hlub­ších pro­pas­tí mrav­ní zká­zy, jak se uvá­dí v A. I, 22: </p>

  <p class="calibre_">„Mni­ši, jsou to pře­de­vším ne­správ­né ná­zo­ry, kvů­li kte­rým vzni­ka­jí v ta­ko­vém roz­sa­hu do­sud ne­vznik­lé ne­pro­spěš­né věci a již vznik­lé ne­pro­spěš­né věci sílí a na­pl­ňu­jí se. Jsou to pře­de­vším ne­správ­né ná­zo­ry, kvů­li kte­rým je v ta­ko­vém roz­sa­hu za­bra­ňo­vá­no vzni­ku do­sud ne­vznik­lých pro­spěš­ných věcí a již vznik­lé pro­spěš­né věci mizí. Jsou to pře­de­vším ne­správ­né ná­zo­ry, kvů­li kte­rým lid­ské by­tos­ti po roz­pa­du těla, po smr­ti, na­stu­pu­jí v ta­ko­vém roz­sa­hu ces­tu utr­pe­ní, ces­tu do svě­ta bídy a do pek­la.“ Dále se uvá­dí v A. I, 23: „Co­ko­li člo­věk s ne­správ­ným ná­zo­rem dělá či pod­stu­pu­je nebo ať má ja­ké­ko­li zá­mě­ry, cíle, tou­hy či sklo­ny, všech­ny tyto věci ho ve­dou k ne­žá­dou­cím, ne­pří­jem­ným a ne­pří­z­ni­vým sta­vům, k bídě a utr­pe­ní.“</p>

  <p class="calibre_">Z ab­hid­ha­mmy (Dhs.) lze vy­vo­dit, že ne­správ­né ná­zo­ry, ať vzni­ka­jí kde­ko­li, jsou vždy spo­je­ny s chti­vos­tí (→ Tab. I, 22−23, 26−27).<br class="calibre2"/> V sut­tách je uve­de­no mno­ho spe­ku­la­tiv­ních ná­zo­rů a te­o­rií, kte­ré vždy ovliv­ňo­va­ly a stá­le ovliv­ňu­jí lid­stvo. Mezi nimi je to ale pře­de­vším ne­správ­né pře­svěd­če­ní o osob­nos­ti, ná­zor o ,já‘, kte­rý lidi vždy a všu­de za­vá­děl a ple­tl nej­ví­ce. Toto pře­svěd­če­ní o osob­nos­ti (<span class="italic">sak­ká­ja-dit­thi</span>) či ná­zor o ,já‘ (<span class="italic">atta-dit­thi</span>) je dvo­jí­ho dru­hu − pře­svěd­če­ní o věč­ném tr­vá­ní a pře­svěd­če­ní o zá­ni­ku.<br class="calibre2"/> Ná­zor o věč­ném tr­vá­ní čili eter­na­lis­mus (<span class="italic">sassa­ta-dit­thi</span>) je pře­svěd­če­ním o exis­ten­ci ,já‘, duše či osob­nos­ti ja­kož­to pře­tr­vá­va­jí­cí en­ti­ty, kte­rá exis­tu­je ne­zá­vis­le na tě­les­ných a men­tál­ních pro­ce­sech utvá­ře­jí­cích ži­vot a kte­rá po­kra­ču­je i po smr­ti. <br class="calibre2"/> Ná­zor o zni­če­ní (<span class="italic">uččhéda-dit­thi</span>) je na dru­hé stra­ně pře­svěd­če­ní o exis­ten­ci ,já‘ či osob­nos­ti ja­kož­to en­ti­ty, kte­rá je ví­ce­mé­ně to­tož­ná s oně­mi tě­les­ný­mi a men­tál­ní­mi pro­ce­sy a kte­rá pro­to za­nik­ne roz­pa­dem při smr­ti. Dva­cet dru­hů ná­zo­rů o osob­nos­ti →<span class="italic"> sak­ká­ja-dit­thi</span>.<br class="calibre2"/> Buddha ne­u­čil ani o osob­nos­ti, kte­rá pře­tr­vá­vá po smr­ti, ani o osob­nos­ti, kte­rá za­nik­ne smr­tí, ale uka­zo­val, že osob­nost, ego, jed­not­li­vec, člo­věk atd. nejsou nic ji­né­ho než pou­hé kon­venč­ní vý­ra­zy (<span class="italic">vó­há­ra-va­ča­na</span>) a že v ab­so­lut­ním smys­lu (→<span class="italic"> pa­ra­mattha-sač­ča</span>) exis­tu­je pou­ze se­bestra­vu­jí­cí pro­ces tě­les­ných a men­tál­ních jevů, kte­ré stá­le zno­vu vzni­ka­jí a hned zase mizí. Dal­ší po­drob­nos­ti →<span class="italic"> anat­tá</span>, <span class="italic">khand­ha</span>, <span class="italic">pa­tič­ča-sa­mup­pá­da</span>. <br class="calibre2"/> „Do­ko­na­lý je osvo­bo­zen od všech ná­zo­rů (<span class="italic">dit­thi-gata</span>), pro­to­že pro­hlé­dl, co je tě­les­nost a jak vzni­ká a za­ni­ká. Pro­hlé­dl, co jsou po­ci­ťo­vá­ní … vní­má­ní … men­tál­ní for­ma­ce … vě­do­mí … a jak vzni­ka­jí a za­ni­ka­jí. Pro­to ří­kám, že Do­ko­na­lý do­sá­hl úpl­né­ho osvo­bo­ze­ní díky ustá­ní, za­ne­chá­ní, vy­mi­ze­ní, od­mít­nu­tí a za­pu­ze­ní všech před­stav a do­mně­nek, všech sklo­nů k mar­né slá­vě ,já‘ a ,mého‘“ (M. 72).</p>

  <p class="calibre_"> dit­thi­nis­si­ta­sí­la dit­thi­nis­si­ta­sí­la<br class="calibre2"/> Od­mít­nu­tí spe­ku­la­tiv­ních ná­zo­rů a te­o­rií je ústřed­ním té­ma­tem ka­pi­to­ly <span class="italic">Atthaka-vag­ga</span> ze <span class="italic">Sut­ta-ni­pá­ty</span>. </p>

  <p class="calibre_">Tzv. ,ne­správ­né ná­zo­ry s ne­zvrat­ný­mi ná­sled­ky‘ ( <span class="italic">ni­ja­ta-miččhá-dit­thi</span>), tvo­ří­cí po­sled­ní z de­se­ti ne­pro­spěš­ných způ­sobů jed­ná­ní (→<span class="italic"> ka­m­ma-patha</span>), jsou tyto tři:</p>

  <p class="calibre_">1. Fa­ta­lis­tic­ké ,pře­svěd­če­ní o bez­pří­čin­nos­ti‘ exis­ten­ce ( <span class="italic">ahétu­ka-dit­thi</span>) hlá­sa­né Budd­ho­vým sou­čas­ní­kem, Mak­kha­lim Gó­sá­lou, kte­rý od­mí­tal veš­ke­ré pří­či­ny zka­že­nos­ti a čis­to­ty by­tos­tí a tvr­dil, že vše je zce­la před­ur­če­no osu­dem.</p>

  <p class="calibre_">2. ,Pře­svěd­če­ní o ne­ú­čin­nos­ti jed­ná­ní‘ ( <span class="italic">aki­ri­ja-dit­thi</span>) hlá­sa­né dal­ším Budd­ho­vým sou­čas­ní­kem, Púra­nou Kassa­pou, kte­rý po­pí­ral veš­ke­ré kar­mic­ké účin­ky dob­ré­ho a špat­né­ho jed­ná­ní: „Tomu, kdo za­bí­jí, kra­de, lou­pí atd., se nic zlé­ho ne­sta­ne. Za štěd­rost, se­be­o­vlá­dá­ní a prav­di­vost nelze oče­ká­vat žád­nou od­mě­nu.“ </p>

  <p class="calibre_">3. Ni­hi­lis­mus ( <span class="italic">natthi­ka-dit­thi</span>) hlá­sa­ný tře­tím Budd­ho­vým sou­čas­ní­kem, Adži­tou Késakam­ba­lim, kte­rý tvr­dil, že kaž­dé pře­svěd­če­ní o dob­rém jed­ná­ní a jeho od­mě­ně je jen kla­mem, že po smr­ti není žád­ný dal­ší ži­vot a že se člo­věk po smr­ti roz­pad­ne na prv­ky atd.</p>

  <p class="calibre_"> Dal­ší po­drob­nos­ti o těch­to třech ná­zo­rech viz D. 2; M. 60; ko­men­tá­řo­vý vý­klad ve Whe­el 98/99, str. 23. </p>

  <p class="calibre_">Čas­to se také uvá­dí de­set an­ti­no­mií (= pro­ti­chůd­ných ná­zo­rů; <span class="italic">an­ta­gáhi­ká miččhá-dit­thi</span>), na­pří­klad: „svět je ko­neč­ný“ a „svět je ne­ko­neč­ný“ … „tělo a duše jsou to­tož­né“ a „tělo a duše jsou od­liš­né“ (na­pří­klad M. 63).</p>

  <p class="calibre_">V <span class="italic"> Brahmadžá­la-sut­tě</span> (D.1) je roz­tří­dě­no a po­psá­no še­de­sát dva ne­správ­ných ná­zo­rů, kte­ré shr­nu­jí všech­ny mož­né ne­správ­né ná­zo­ry a spe­ku­la­ce o člo­vě­ku a svě­tě. Viz Bhik­khu Bod­hi: <span class="italic">The All-Em­bra­cing Net of Views</span> (<span class="italic">Brahmadžá­la-sut­ta</span> a ko­men­tář), BPS. Dále viz D. 15, 23, 24, 28; M. 11−12, 25, 60, 63, 72, 76, 101−102, 110; A. II, 16; A. X, 93; S. XXI, XXIV; Pts.M. (<span class="italic">Dit­thi-kathá</span>) atd.</p>
"""

from bs4 import BeautifulSoup
from pprint import pprint

data = data.replace('\xad', '')   # remove soft-hyphens
soup = BeautifulSoup(data, 'lxml')

result = []
for span in soup.select('p > span.bold'):
    result.append([span.text, span.parent.text.replace(span.text, '').strip()])

    for p in span.parent.select('~ p'):
        if p.select('span.bold'):
            break
        result[-1][-1] += '\n' + p.text

pprint(result)

输出:

[['dibba-čakkhu',
  '(dibbacakkhu): ,božský zrak‘ (dosl. ,božské oko‘), je jednou ze šesti '
  'vyšších schopností (→ abhiňňá) a jedním ze tří druhů vědění (→ tévidždžá).'],
 ['dibba-lóka',
  '(dibbaloka): nebeský svět; → déva.\n'
  'dibba-sóta (dibbasota): ,božský sluch‘, je jednou z šesti vyšších '
  'schopností (→ abhiňňá).'],
 ['dibba-sóta',
  'dibba-lóka (dibbaloka): nebeský svět; → déva.\n'
  ' (dibbasota): ,božský sluch‘, je jednou z šesti vyšších schopností (→ '
  'abhiňňá).'],
 ['dibba-vihára', '(dibbavihāra): → vihára.\ndisciplína (etika): → síla.'],
 ['disciplína', 'dibba-vihára (dibbavihāra): → vihára.\n (etika): → síla.'],
 ['dittha-dhamma-védaníja-kamma',
  '(diṭṭhadhammavedanīyakamma): karma, která přináší plody ještě v tomto '
  'životě; → karma.'],
 ['ditthi',
  '(diṭṭhi): ,názor‘ či ,přesvědčení‘ (dosl. ,vidění‘, od kořene dis − '
  ',vidět‘). Když není ve spojení s výrazem sammá (správný), odkazuje většinou '
  'k nesprávnému či neprospěšnému názoru a jen v několika málo případech ke '
  'správnému názoru, pochopení či vhledu (například → ppatta; -visuddhi − '
  'očištění názoru; -sampanna − obdařený vhledem).\n'
  ' Neprospěšné či nesprávné názory (ditthi či miččhá-ditthi) jsou prohlášeny '
  'za zcela zavrženíhodné, neboť jsou zdrojem špatných cílů a jednání a mo '
  'ditthi ditthi hou člověka časem zavést do nejhlubších propastí mravní '
  'zkázy, jak se uvádí v A. I, 22: \n'
  '„Mniši, jsou to především nesprávné názory, kvůli kterým vznikají v takovém '
  'rozsahu dosud nevzniklé neprospěšné věci a již vzniklé neprospěšné věci '
  'sílí a naplňují se. Jsou to především nesprávné názory, kvůli kterým je v '
  'takovém rozsahu zabraňováno vzniku dosud nevzniklých prospěšných věcí a již '
  'vzniklé prospěšné věci mizí. Jsou to především nesprávné názory, kvůli '
  'kterým lidské bytosti po rozpadu těla, po smrti, nastupují v takovém '
  'rozsahu cestu utrpení, cestu do světa bídy a do pekla.“ Dále se uvádí v A. '
  'I, 23: „Cokoli člověk s nesprávným názorem dělá či podstupuje nebo ať má '
  'jakékoli záměry, cíle, touhy či sklony, všechny tyto věci ho vedou k '
  'nežádoucím, nepříjemným a nepříznivým stavům, k bídě a utrpení.“\n'
  'Z abhidhammy (Dhs.) lze vyvodit, že nesprávné názory, ať vznikají kdekoli, '
  'jsou vždy spojeny s chtivostí (→ Tab. I, 22−23, 26−27). V suttách je '
  'uvedeno mnoho spekulativních názorů a teorií, které vždy ovlivňovaly a '
  'stále ovlivňují lidstvo. Mezi nimi je to ale především nesprávné '
  'přesvědčení o osobnosti, názor o ,já‘, který lidi vždy a všude zaváděl a '
  'pletl nejvíce. Toto přesvědčení o osobnosti (sakkája-ditthi) či názor o '
  ',já‘ (atta-ditthi) je dvojího druhu − přesvědčení o věčném trvání a '
  'přesvědčení o zániku. Názor o věčném trvání čili eternalismus '
  '(sassata-ditthi) je přesvědčením o existenci ,já‘, duše či osobnosti '
  'jakožto přetrvávající entity, která existuje nezávisle na tělesných a '
  'mentálních procesech utvářejících život a která pokračuje i po smrti.  '
  'Názor o zničení (uččhéda-ditthi) je na druhé straně přesvědčení o existenci '
  ',já‘ či osobnosti jakožto entity, která je víceméně totožná s oněmi '
  'tělesnými a mentálními procesy a která proto zanikne rozpadem při smrti. '
  'Dvacet druhů názorů o osobnosti → sakkája-ditthi. Buddha neučil ani o '
  'osobnosti, která přetrvává po smrti, ani o osobnosti, která zanikne smrtí, '
  'ale ukazoval, že osobnost, ego, jednotlivec, člověk atd. nejsou nic jiného '
  'než pouhé konvenční výrazy (vóhára-vačana) a že v absolutním smyslu (→ '
  'paramattha-sačča) existuje pouze sebestravující proces tělesných a '
  'mentálních jevů, které stále znovu vznikají a hned zase mizí. Další '
  'podrobnosti → anattá, khandha, patičča-samuppáda.  „Dokonalý je osvobozen '
  'od všech názorů (ditthi-gata), protože prohlédl, co je tělesnost a jak '
  'vzniká a zaniká. Prohlédl, co jsou pociťování … vnímání … mentální formace '
  '… vědomí … a jak vznikají a zanikají. Proto říkám, že Dokonalý dosáhl '
  'úplného osvobození díky ustání, zanechání, vymizení, odmítnutí a zapuzení '
  'všech představ a domněnek, všech sklonů k marné slávě ,já‘ a ,mého‘“ (M. '
  '72).\n'
  ' ditthinissitasíla ditthinissitasíla Odmítnutí spekulativních názorů a '
  'teorií je ústředním tématem kapitoly Atthaka-vagga ze Sutta-nipáty. \n'
  'Tzv. ,nesprávné názory s nezvratnými následky‘ ( nijata-miččhá-ditthi), '
  'tvořící poslední z deseti neprospěšných způsobů jednání (→ kamma-patha), '
  'jsou tyto tři:\n'
  '1. Fatalistické ,přesvědčení o bezpříčinnosti‘ existence ( ahétuka-ditthi) '
  'hlásané Buddhovým současníkem, Makkhalim Gósálou, který odmítal veškeré '
  'příčiny zkaženosti a čistoty bytostí a tvrdil, že vše je zcela předurčeno '
  'osudem.\n'
  '2. ,Přesvědčení o neúčinnosti jednání‘ ( akirija-ditthi) hlásané dalším '
  'Buddhovým současníkem, Púranou Kassapou, který popíral veškeré karmické '
  'účinky dobrého a špatného jednání: „Tomu, kdo zabíjí, krade, loupí atd., se '
  'nic zlého nestane. Za štědrost, sebeovládání a pravdivost nelze očekávat '
  'žádnou odměnu.“ \n'
  '3. Nihilismus ( natthika-ditthi) hlásaný třetím Buddhovým současníkem, '
  'Adžitou Késakambalim, který tvrdil, že každé přesvědčení o dobrém jednání a '
  'jeho odměně je jen klamem, že po smrti není žádný další život a že se '
  'člověk po smrti rozpadne na prvky atd.\n'
  ' Další podrobnosti o těchto třech názorech viz D. 2; M. 60; komentářový '
  'výklad ve Wheel 98/99, str. 23. \n'
  'Často se také uvádí deset antinomií (= protichůdných názorů; antagáhiká '
  'miččhá-ditthi), například: „svět je konečný“ a „svět je nekonečný“ … „tělo '
  'a duše jsou totožné“ a „tělo a duše jsou odlišné“ (například M. 63).\n'
  'V  Brahmadžála-suttě (D.1) je roztříděno a popsáno šedesát dva nesprávných '
  'názorů, které shrnují všechny možné nesprávné názory a spekulace o člověku '
  'a světě. Viz Bhikkhu Bodhi: The All-Embracing Net of Views '
  '(Brahmadžála-sutta a komentář), BPS. Dále viz D. 15, 23, 24, 28; M. 11−12, '
  '25, 60, 63, 72, 76, 101−102, 110; A. II, 16; A. X, 93; S. XXI, XXIV; Pts.M. '
  '(Ditthi-kathá) atd.']]

相关问题 更多 >