skip to Main Content

I am reading a website with the rvest-package. Here’s an extract from the html code:

html <- '<a name="idp341456"></a><div class="big bold">Urteilskopf</div>
<br>147 IV 65<br><br><br><div class="paraatf">8. Auszug aus dem Urteil der Strafrechtlichen Abteilung i.S. A. gegen Generalstaatsanwaltschaft des Kantons Bern, B. und Verein C. (Beschwerde in Strafsachen)</div>
<div class="paraatf">6B_440/2019 vom 18. November 2020</div>
  <a name="idp342784"></a><br><div id="regeste" lang="de">
<div class="big bold">Regeste</div>
<br><div class="paraatf"><span class="artref">Art. 28 Abs. 1 StGB</span>; Strafbarkeit der Medien; keine Anwendbarkeit von <span class="artref">Art. 28 Abs. 1 StGB</span> beim "Teilen" und Kommentieren eines fremden Beitrags auf Facebook.  <div class="paratf">Grundsatz der exklusiven Strafbarkeit des Autors bei Mediendelikten (E. 5.1-5.3). Der in <span class="artref">Art. 28 Abs. 1 StGB</span> verankerte Begriff des "Mediums" umfasst nicht nur sämtliche Kommunikationsträger, sondern auch Kommunikationsmittel (E. 5.4.1-5.4.3). </div>
<div class="paratf">Die Anwendbarkeit von <span class="artref">Art. 28 Abs. 1 StGB</span> erfordert zunächst, dass das Medienerzeugnis der Öffentlichkeit zugänglich gemacht wird. Das gilt grundsätzlich für Beiträge auf Social Media-Plattformen, soweit sie nicht durch persönliche Einstellungen nur für einen beschränkten Personenkreis verfügbar sind (E. 5.4.4). </div>
<div class="paratf">Die Anwendbarkeit von <span class="artref">Art. 28 Abs. 1 StGB</span> bedingt zusätzlich, dass sich die strafbare Handlung in der Veröffentlichung erschöpft. <span class="artref">Art. 28 Abs. 1 StGB</span> privilegiert dabei alle innerhalb der für das Medium typischen Herstellungs- und Verbreitungskette tätigen Personen. Der weite Medienbegriff setzt voraus, dass im Einzelfall geprüft werden muss, wer Teil der medientypischen Kette ist. Vorliegend verneint beim "Teilen" und Kommentieren eines fremden bereits veröffentlichten Beitrags auf Facebook (E. 5.5 und 5.6). </div>
</div>
</div>
  <a name="idp232400"></a>
  <a name="idp246448"></a>
  <br><div>
<a name="idp404656"></a><span class="big bold" id="sachverhalt">Sachverhalt</span> <span class="small">ab Seite 66</span>
</div>
<br><div class="paraatf">'

df <- data.frame(html = html)

How can I extract the entire text (HTML-tags included) between the words "Regeste" and "Sachverhalt" and save it in a new column?

library(tidyverse)

df %>%
 mutate(between = str_extract(content, 'Regeste.*Sachverhalt'))

2

Answers


  1. One option is to locate the start/end position index of words and use str_sub/substr to extract the characters

    library(stringr)
    i1 <- str_locate(df$html, "Regeste")[,1]
    i2 <- str_locate(df$html, "Sachverhalt")[,2]
    str_sub(df$html, i1, i2)
    
    Login or Signup to reply.
  2. We could use str_extract() from stringr with this regex:

    library(dplyr)
    library(stringr)
    
    df %>%
      mutate(between = str_extract(html, "(?<=Regeste|regeste)[\s\S]*(?=Sachverhalt|sachverhalt)"))
    
    1 " lang="de">n<div class="big bold">Regeste</div>n<br><div class="paraatf"><span class="artref">Art. 28 Abs. 1 StGB</span>; Strafbarkeit der Medien; keine Anwendbarkeit von <span class="artref">Art. 28 Abs. 1 StGB</span> beim "Teilen" und Kommentieren eines fremden Beitrags auf Facebook.  <div class="paratf">Grundsatz der exklusiven Strafbarkeit des Autors bei Mediendelikten (E. 5.1-5.3). Der in <span class="artref">Art. 28 Abs. 1 StGB</span> verankerte Begriff des "Mediums" umfasst nicht nur sämtliche Kommunikationsträger, sondern auch Kommunikationsmittel (E. 5.4.1-5.4.3). </div>n<div class="paratf">Die Anwendbarkeit von <span class="artref">Art. 28 Abs. 1 StGB</span> erfordert zunächst, dass das Medienerzeugnis der Öffentlichkeit zugänglich gemacht wird. Das gilt grundsätzlich für Beiträge auf Social Media-Plattformen, soweit sie nicht durch persönliche Einstellungen nur für einen beschränkten Personenkreis verfügbar sind (E. 5.4.4). </div>n<div class="paratf">Die Anwendbarkeit von <span class="artref">Art. 28 Abs. 1 StGB</span> bedingt zusätzlich, dass sich die strafbare Handlung in der Veröffentlichung erschöpft. <span class="artref">Art. 28 Abs. 1 StGB</span> privilegiert dabei alle innerhalb der für das Medium typischen Herstellungs- und Verbreitungskette tätigen Personen. Der weite Medienbegriff setzt voraus, dass im Einzelfall geprüft werden muss, wer Teil der medientypischen Kette ist. Vorliegend verneint beim "Teilen" und Kommentieren eines fremden bereits veröffentlichten Beitrags auf Facebook (E. 5.5 und 5.6). </div>n</div>n</div>n  <a name="idp232400"></a>n  <a name="idp246448"></a>n  <br><div>n<a name="idp404656"></a><span class="big bold" id="sachverhalt">
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search