I’m using Screaming Frog as a way to extract data from a Json generated from an URL.
The Json generated is this form :
{"ville":[{"codePostal":"13009","ville":"VAUFREGE","popin":"ouverturePopin","zoneLivraison":"1300913982","url":""},{"codePostal":"13009","ville":"LES BAUMETTES","popin":"ouverturePopin","zoneLivraison":"1300913989","url":""},{"codePostal":"13009","ville":"MARSEILLE 9EME ARRON","popin":"ouverturePopin","zoneLivraison":"1300913209","url":""}]}
I’m using this regex in Custom > Extraction in Screaming Frog as a way to extract the values of “codePostal”.
“codePostal”:”.*?”
Problem is it doesn’t extract anything.
When I test my regex in regex101, it seems correct.
Do you have any clue about what is wrong ?
Thanks.
Regards.
3
Answers
Have you tried to save the output to understand what ScreamingFrog sees? It doesn’t matter – not at the beginning – whether your RegEx works.
That said, don’t forget that SF is a Java based tool hence it is the engine used by the reg ex, so make sure you test your regular expressions with the correct dialect.
You need to specify group extractors enclosed in parentheses. For instance in your example, you need to have ("codePostal":".*?") as extractor.
In addition if you simply want to extract the value, you could use the following instead.
"codePostal":"(.*?)"
It’s not a problem with your Regular Expression. It seems to be that the problem is with the Content Type. ScreamingFrog isn’t properly reading application/JSON content types for scraping. Hopefully they will fix this bug.