Enable "watch episode" feature with google structured data - web

How can I list my webpage in the “Watch now” feature in a Google search.
I have already added a lot of structured data, but unfortunately my streaming service still does not appear.
Webpage:
https://www.srf.ch/play/tv/der-bestatter/video/phoenix-aus-der-asche-staffel-7-folge-6?urn=urn:srf:video:5da1d3d0-e445-447e-a67c-33dd10186f4c
My structured data:
{
"#context": "https://schema.org",
"#type": "TVEpisode",
"#id": "/tv/der-bestatter/video/phoenix-aus-der-asche-staffel-7-folge-6?urn=urn:srf:video:5da1d3d0-e445-447e-a67c-33dd10186f4c",
"name": "Phönix aus der Asche (Staffel 7, Folge 6)",
"abstract": "Furioses Finale von «Der Bestatter»: Doerig muss Anatol den Geschwistern Lara und Max ausliefern – sonst stirbt die gekidnappte Vanessa. Fabio verguckt sich in eine hübsche Pastorin. Und Luc sucht nach der Mutter von Lara und Max. Er muss sie finden, sonst droht Vanessa und Anatol der sichere Tod.",
"description": "Schreckliches Erwachen für Polizist Reto Doerig: Seine Tochter Vanessa wurde von Lara und Max entführt. Jetzt soll Doerig Sozialarbeiter Anatol kidnappen und ihnen ausliefern. Dann wird er hingerichtet. Falls Doerig den Forderungen nicht nachkommt, wird Vanessa sterben. Über Handy und Knopf im Ohr erhält Doerig die Anweisungen, den unter Polizeischutz stehenden Anatol abzuholen. Doch mitten im Wald will der zunehmend misstrauische Anatol wissen, was gespielt wird. Beim anschliessenden Handgemenge geht Doerigs Handy kaputt und der Kontakt zu Vanessas Entführern bricht ab. Muss Vanessa jetzt sterben?\r\n\r\nDiese wird von Lara und Max in einem Bunker aus dem Zweiten Weltkrieg gefangen gehalten. Max quält das schlechte Gewissen, dass er seiner geliebten Vanessa diese Entführung antun musste. Er lockert ihre Fesseln. In einem unbeobachteten Moment kann Vanessa flüchten. Als Max dies entdeckt, fühlt er sich verraten. Ihn packt die blinde Wut und er jagt ihr nach. Hat Vanessa im Labyrinth des Bunkers überhaupt eine Chance, zu entkommen?\r\n\r\nWährend die Kantonspolizei Aargau das mörderische Geschwisterpaar jagt, muss sich Fabio um Anatols Tochter Maya kümmern. Dabei trifft Fabio die bildhübsche Pastorin Florence wieder, die ihm schöne Augen macht. Der junge Bestatter kümmert sich auch rührend um Maya. Was beide nicht wissen: Irgendwo in den Wäldern des Aargaus kämpft Mayas Vater Anatol um sein Leben.\r\n\r\nLuc glaubt, den Aufenthaltsort der Mutter von Lara und Max gefunden zu haben: auf einer einsamen Alp irgendwo in den Bergen. Doch als er dort ankommt, steht er vor verschlossenen Türen. Die Zeit rennt Luc Conrad davon. Wie wird es ihm trotzdem noch gelingen, den Fall zu lösen? Um zum letzten Mal Gerechtigkeit zu schaffen unter den Lebenden und den Toten.",
"thumbnailUrl": "https://il.srgssr.ch/images/?imageUrl=https%3A%2F%2Fws.srf.ch%2Fasset%2Fimage%2Faudio%2F185d6878-4989-4bd4-a274-953986627752%2FEPISODE_IMAGE%2F1606398851.png&format=jpg&width=1920",
"duration": "P0Y0M0DT1H0M8S",
"url": "/tv/der-bestatter/video/phoenix-aus-der-asche-staffel-7-folge-6?urn=urn:srf:video:5da1d3d0-e445-447e-a67c-33dd10186f4c",
"episodeNumber": 6,
"partOfSeason": {
"#type": "TVSeason",
"seasonNumber": 7
},
"potentialAction": {
"#type": "WatchAction",
"target": {
"#type": "EntryPoint",
"urlTemplate": "/tv/der-bestatter/video/phoenix-aus-der-asche-staffel-7-folge-6?urn=urn:srf:video:5da1d3d0-e445-447e-a67c-33dd10186f4c",
"inLanguage": "de",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"#type": "ActionAccessSpecification",
"category": "nologinrequired"
},
"eligibleRegion": "EARTH"
},
"partOfSeries": {
"#type": "TVSeries",
"name": "Der Bestatter",
"abstract": "Alle Folgen der Erfolgsserie mit Mike Müller als Luc Conrad.",
"description": "Sehen Sie hier alle Folgen der Erfolgsserie mit Mike Müller als «Der Bestatter» Luc Conrad.\r\nLuc Conrad ist Bestatter aus Berufung. Trotzdem hilft der ehemalige Hauptkommissar der Polizei regelmässig bei der Aufklärung von Todesfällen.",
"numberOfEpisodes": 40
}
}

Your content has poor performance and a slow download speed of about 35 seconds. This may be the reason for the Googlebot timeout. Critical Metrics Web Vitals is a negative signal for the search rank of your content.
Your structured data has 2 warnings. The rich results of your content have one warning.

Related

application.onkey press not working while an infinite loop is running (python accepts that why not vba)

i am currently studying engineering and for my inf project i decided to do a tetris clone started trying to learn python but sadly my college demands that we use excel vba
anyways we started with 1 single square not a whole element and coded it falling down and then a new one creating and falling down too and so on which using an infinite loop proved quite easy
then for the moving left and right part we decided to use the application.onkey method but quickly realised that for some reason this doesnt work while the loop is active but does while its inactive
any help
its a german school so our comments are in german
here our main code
stein.color = 4
stein.posx = 0
stein.posy = 4
'2.3.2:stein im grid einfugen
grid(stein.posx, stein.posy) = stein.color
'2.3.3:grid zeichnen
gridzeichnen
'3 : main loop
Do While gamestate
'3.1:checken ob platz frei ist
If checkplatz(stein.posx, stein.posy) Then
'3.1.1: falls ja dann fallen
warten (50)
grid(stein.posx, stein.posy) = 2
stein.posx = stein.posx + 1
' hinweis: im grid schreiben/anzeigen
grid(stein.posx, stein.posy) = stein.color
gridzeichnen
Else:
'3.1.2:falls nein dann neuen stein erstellen
'3.1.2.1: aber zuerst muss man checken ob die maximale hohe erreicht wurde (also obwohl er
'gerade erst erstellt wurde nicht fallen konnte)
If stein.posx = 0 Then
'hinweis: print grid nur damit man besser weiss was der program gemacht hat und ob er
'irgendwas falsch gemacht hat
printgrid
Exit Do
End If
' 3.1.2.2: falls nicht dann neuen stein erstellen
' hinweis:hier braucht man nicht die farbe neu erstellen da momentarn die farbe immer
' gleich(wird sich spater andern)
stein.posx = 0
stein.posy = 4
grid(stein.posx, stein.posy) = stein.color
gridzeichnen
End If
Loop

Use Spacy Models to find Modal Verb for languages fr, es, ru

I am using Spacy models to find modal verb (MD) from following languages.
en
de
fr
es
ru
From tag_map.py of en and de it is clear that "VerbType": "mod" is a modal verb. But tag_map.py for fr, es and ru do not have any such property. How can I find out Modal verb in these 3 languages(on which properties should I focused on)? Also is there any generic way that I can find out the Modal verb of any language released by Spacy in the future let say greek is released?
Note: I am not looking for high-level tags but I am looking for low-level tags. In Spacy terminology, I am preferring token.tag_ property.
I don't think there is currently a language-independent way to do so. But modal words are closed-classed words, so just checking if token.tag_ == 'AUX' (although in German, modal verbs are tagged as VERB) and if token.lemma_ is in a set of modal verbs should do the job.
Currently I am working on a similar project.
For English, you can use token.dep_ == 'AUX' and token.tag_ = 'MD'.
for instance:
for token in doc:
if token.dep_ == 'aux' and token.tag_ == 'MD':
print(token.text)
For German the closest I get is as like this:
sent = 'Ich muss auf den Lehrer hören'
nlp = spacy.load("de_core_news_sm")
doc = nlp(sent)
print(doc.text)
for token in doc:
print(token.text, token.pos_, token.dep_, token.morph)
Ich muss auf den Lehrer hören
Ich PRON sb Case=Nom|Number=Sing|Person=1|PronType=Prs
muss VERB ROOT Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin
auf ADP mo
den DET nk Case=Acc|Definite=Def|Gender=Masc|Number=Sing|PronType=Art
Lehrer NOUN nk Case=Acc|Gender=Masc|Number=Sing
hören VERB oc VerbForm=Inf
for token in doc:
if token.morph.get('VerbForm') == ['Fin']:
print(token.text)
muss
You can also create a stoplist for German modals and add query to look in token.lemma_
modals = ['mussen']
for token in doc:
if token.lemma_ in modals:
print(token.text)
muss
I am not sure about other languages yet stoplist approach might work.

How to extract rentprice from text?

For real estate objects I'm trying to extract rent prices from the description text.
E.g.:
"Für maximalen Komfort sorgt ein Concierge Service, der den Bewohnern im Haus zur Verfügung steht. <br/>Die Wohnung ist seit dem 15.10.2002 zu einer monatlichen Nettokaltmiete in Höhe von 546,25 EUR vermietet. Es bestehen weder Sperrfrist noch Vorkaufsrecht."
The important part is this here
Nettokaltmiete in Höhe von 546,25 EUR
What is a simple way to extract that information?
Caution: There is often other information in EUR - so we can not just search for EUR.
One of my ideas would be:
Split sentences. Check if a sentence includes EUR or €. Check if the sentence also says something about Miete/Jahresmiete and get then the next closest number in €.
I would like to know if there is a more elegant way. What are your thoughts on this? :)
Try using dependency parsing.
I wrote this example which should get you started:
import spacy
nlp = spacy.load("de_core_news_sm")
s = "Die Wohnung ist seit dem 15.10.2002 zu einer monatlichen Nettokaltmiete in Höhe von 546,25 EUR vermietet."
doc = nlp(s)
try:
l = [t for t in doc if 'miete' in t.text.lower() and t.pos_ == "NOUN"]
if l:
rent = l[0]
subtree = [t for t in rent.subtree]
euro = [t for t in subtree if t.text == "EUR" or t.text == "€"]
if euro:
price = euro[0].nbor(-1)
if price.like_num == True:
print(rent, ':', price)
except:
pass
output:
Nettokaltmiete : 546,25

ERROR when Parsing JSON Array as a JSON Object

I'm trying to convert news into json in EJS but I'm getting this error:
JSON.parse: bad control character in string literal at line 1 column 491 of the JSON data
My code in EJS:
var news = JSON.parse('<%- JSON.stringify(news) %>');
My JSON when I just use JSON.stringify(news):
[{"link":"https://www.google.com/appserve/mkt/p/AL8lKjMTbG3Cwo5S_mSyJIgnnTSnG5CShXJluGQmCXZQem2HZJYO3Xni6oi7YkO1bf0AiPEzctP9t7p4iXohF_oSmh4lekT6N4_Xi_3FsOwFL7v0aGYESdS7Hwy0ljNy94xgSIa-p44jadT8K72ncdZLathEWT9VLdgFzKPyIbWNdfzXjna8ZZ-l0MnFGvP7ctxpUmlnS0bdioEzr6Vea3RXuJ9ql7G66mK3Mmk8b88uTsEU0DgQibiPnhj57-Xddg","title":"PT anuncia candidatura de Fernando Haddad à Presidência no ...","snippet":"11 set. 2018 ... O prazo dado pelo TSE para o partido apresentar à Justiça Eleitoral o substituto
de Lula terminava às 19h desta terça. Na chapa original ..."},{"link":"https://www.google.com/appserve/mkt/p/AL8lKjOk4AvSk26yeM_CLTwL-pbhemUMarCpKtz2cjmDF5u-c1MKiPSNST_LKzGUhr5gIxpym10fbAyKebM_k5ztcDT4ccJLm7CiDn51AF8esXzqtzkfStIpvDMLDSzBEiJsY_vZ-n16Bq1rVLol6NPlA84ZHjMcdBFsRqyvAn1uWquy2kWhGINO24sm7grPZssXqNuqn3kE2VQWxUZrqU76ZfKon7_2sP_JnVoX616a7NqZ87w","title":"Pesquisa Ibope: Lula, 37%; Bolsonaro, 18%; Marina, 6%; Ciro, 5%","snippet":"20 ago. 2018 ... Em razão desse quadro jurídico, o Ibope pesquisou outro cenário, com o atual
candidato a vice na chapa de Lula, Fernando Haddad."},{"link":"https://www.google.com/appserve/mkt/p/APDk4sNLn4v5wG7jZc1IMxmNqeoSmmu3CoLrgwpbMBTtGaGIPP6qNZCYoZJE-h7JvLCpES_LHdTgnGxzrSzi7qXlTfpcw_NWkH9lhvjaWJZmZCbHZM5jPivEEvXVa-370EEkKothZUYVdHjcJ_7Gd0FtSViBkVPdM1eplOHC2c-cxE5l-6iUJv-eIvsaBoTNH8m-N7KeL55C2RHIhWox4t_O_J6TePdYShasXr2p9CljniJyBnJg2gJqpDnpEg","title":"PT registra candidatura de Lula a presidente com ato em frente ao ...","snippet":"15 ago. 2018 ... Presidente do PT, Gleisi Hoffmann, entrega registro da candidatura de Lula a
servidor do TSE — Foto: Nelson Jr./ASCOM/TSE ..."},{"link":"https://www.google.com/appserve/mkt/p/AL8lKjPgDq40q5PA8lJ4zEjCmTIcjEId9kKJi_u79_HEROFIYaeDAza3mH3HEG5yW1W_0o0zUQTvFVUd9gRF64I5kZ9WUqwlrXBv3N0-ficFsPjhfdxo4H3CqkPvbjICafkJlZM2LnCTC7sKH_Wu7emMCZEki0XlYNuHyOOp114XJK5GbvR33QyBK3e9sVl9hoOpXsP44bNFtPy2ntiTo5ew58YJgSaB59sg1xrtW7PdaGKbcHDsg6bRyw","title":"Fachin nega pedido da defesa de Lula para suspender inelegibilidade","snippet":"6 set. 2018 ... Fachin nega pedido para suspender condenação de Lula no caso do ... o pedido
da defesa do ex-presidente Luiz Inácio Lula da Silva para ..."},{"link":"https://www.google.com/appserve/mkt/p/APDk4sNLSBs3Q0r_tjyeUzsiMNvPILeN0DuMwwFLp7LWs11DJltsjOoj6lALGoBQ_HdCP5Pxa8rTJIe6SmXbEyi5iZ6CFNdrHxF0dwF2pf3J2UX0uIREc_MoNTGwEj53rHgTA21KV0gXTwNC4U-SPsRqFhI322S4AjnWeRr1h1ThAl1gJEEDEMSWm5-JEWPkSH4zrzjmbltEp_mKtMqG7PTLQdat0d_wIowh1wGQ3oMDrSM95XpVBOzvm2yg_t4wd5lh","title":"Entenda o que significa a impugnação da candidatura de Lula feita ...","snippet":"16 ago. 2018 ... As ações de impugnação ainda não impedem Lula de concorrer. O ministro Luís
Roberto Barroso foi sorteado como relator do registro de ..."},{"link":"https://www.google.com/appserve/mkt/p/AL8lKjMNo82Rv1wcvOpdbrQX7C7zD2sW7lFk0EBtJZZNs8rx0-tq2bYfyB_BsCGjt9fNa82lkSBH8Y4P_Of_uj9ryfcFxjIt_pbf49sLtNeAR529DWuje9j8Ps8-Z3qH2Wrh6N_Sb8P9eS88o26QKNLi94PDrPvFg7Q5Hv_i02L95dF_ZOV_avLu9sE0zzaX2l6hCQ1t-lXxegaf","title":"Comitê da ONU reafirma direito de Lula ser candidato, diz defesa ...","snippet":"10 set. 2018 ... Zanin afirmou que a defesa de Lula informará ao STF a nova decisão. Uma nova
decisão do Comitê de Direitos Humanos da ONU reafirmou ..."},{"link":"https://www.google.com/appserve/mkt/p/AFOm0uEggpSZolqYBXndC11CTFh4Bx4ojWZe-LQ4LpX3DXG401x0u8rk7AS41mhCRQqX6Ze7qXrfe0blgoqgeKkBvl2Roik39be5d8XX2HlZpL4bYGlC18o9U650kXjAkUn_vWc6YJRH5bUf1Hw15Zz4IlOE5idUbGmd0rnPl43DKMDReRgIHGc72dtcdXrz-ihJualpVoNpmfdaEQ","title":"Datafolha: sem Lula, Bolsonaro lidera e disputa fica acirrada ...","snippet":"31 jan. 2018 ... RIO — Pesquisa Datafolha divulgada nesta quarta-feira mostra que o ex-
presidente Luiz Inácio Lula da Silva , mesmo condenado pelo ..."},{"link":"https://www.google.com/appserve/mkt/p/AFIPhzVJ3RSCVztRel4V7tABx7g_RC0G4uE43Wb1CdAxSf810y0LN7XN0iU1Ub5cj7-anDSrgzKJX9k1sx0tGFtzZhnTSyvCbAjhgqEHA-rrGWKMVAaHUXewZYj5IBY","title":"Após tiros e sob tensão, Lula encerra caravana em Curitiba horas ...","snippet":"28 mar. 2018 ... Poucas horas depois de a caravana do ex-presidente Luiz Inácio Lula da Silva
chegar a Curitiba, ainda sob abalo pelo ataque que atingiu ..."},{"link":"https://www.google.com/appserve/mkt/p/AJ-PF7wwGAYu07EXXfFG9u-ipk-azIf0t1m96KDvmxh5uuiAjuDg9QFlysO2nHCs9x0IRYCtpd_CphjEsDCZGMtxpcpzgeQdP-rJumaQVCIx6a2YCXteM6qFB6cerc5JSvbVfp5qTEwyDuB_R8gR9ZOK44cZxY2VIjPIAS4qsX-Wb2y0nSVXTtuM4BOZdPthrzxE8fXHoRc_zmYheufyS3FGXg","title":"Presidenciáveis e políticos comentam decisão de desembargador ...","snippet":"8 jul. 2018 ... O STF já havia negado HC para soltar Lula. Ele será solto neste domingo. A
decisão foi monocrática, de um desembargador que foi filiado ao ..."},{"link":"https://www.google.com/appserve/mkt/p/AIQrb_7rn0-8BzJy4lp5vhkK_EOS2rsg2pNbSKHMcSAv7Zxb_T8GoBAYLmUZidgqaFo8Q0sgjTMTLhJe8ouJ0iutSoUi_6XA04aBJe0-d6df3YTmby4CBj7BfXDOYO4mHhO7iFv9i2pOooL4TWu-A5KQ7KqAk-GQP72jmClTQuBmZ5Frl6rlGiaW1A","title":"STJ nega habeas corpus preventivo por unanimidade e decide que ...","snippet":"6 mar. 2018 ... Na mesma decisão, os cinco ministros da Quinta Turma do STJ negaram um
pedido extra da defesa para suspender a inelegibilidade de Lula ..."}]
EDIT: I have found out the error is the "snippet" tag, but I need it.
I think that JSON.parse() is going to have a tough time with what you are feeding it as it just sees a simple string, not evaluated EJS or even valid JSON.
Perhaps something more along the lines of:
var json = <your-JSON-here>;
var news = ejs.render('<%- JSON.stringify(news) %>', {news: json});
Then if you want, you can always pull it back in as an object with JSON.parse():
news = JSON.parse(news);

count how many words from a word list appear in a cell

Im trying to count the amount of times a word occurs in a string in excel, but im not sure how to do it. I found the formula =SUMPRODUCT(ISNUMBER(SEARCH(" "&Z$2:Z$20&","," "&A1&","))+0) in another post, but I can't seem to make it work for me.
data example (strings):
text
1335 Nu standaard 3 dagen #Full #Membership bij #LACH , #dating voor #50plus http://t.co/7urme1Huhq http://t.co/ZzGWnKNdgx
1334 De 50plus cliché-poll vul hem in en we zien direct of de clichés waar zijn,
1282 #Koopkracht staat centraal in de campagne van #50Plus. Volgens mij maken veel ouderen zich zorgen over heel andere zaken. #PS2015
1278 #ps15 #50Plus: Dramatische gevolgen afschaffen ouderentoeslag http://t.co/nJW8kQRTtu Zie http://t.co/bFGtRDhF7e
1276 Campagnebussen in beeld. Mijn favoriet: de Fiat Babyboom van 50Plus. http://t.co/Wji8fL3gDp
1275 50Plus staat alleen in stelling over sociaal beleid http://t.co/79TF5PWN2j
1266 .#Struijlaard #50PLUS Zuid-Holland trekt met een camper de hele provincie door. Vandaag tot 17.00 uur in Leerdam. #PS15
1262 Stem #50PLUS op 18 maart !
1261 Boek van 98-jarige zangeres http://t.co/xxFjkTxYDY #vrouwen #50plus #muziek #Gog #Dings #Liessel
1257 #senfkarin kwam je op 50plus?
Word list:
achterlijk
bewogen
bovenkomen
brutaliteit
dramatisch
gehoorzamen
groen
illuminatie
incongruent
kwaadspreken
ontmoeting
ontredderd
recidiveren
roestig
ruw
secuur
steenkoud
tippelen
treffen
verbleken
verkijken
verlevendigen
vertillen
vorig
wezen
zorg
zwier
I think the commas are messing it up, it should be
=SUMPRODUCT(ISNUMBER(SEARCH(" "&Z$2:Z$20&" "," "&A1&" "))+0)
So it matches the whole word plus the spaces at each end, even when it is the first or last word in the cell.

Resources