{"version":"1.0","provider_name":"Syntera","provider_url":"https:\/\/www.syntera.ch\/blog","author_name":"Kail Kuhn Schlicht","author_url":"https:\/\/www.syntera.ch\/blog\/author\/kail\/","title":"Scrape Dynamic APIs Like a Pro with Selenium - Syntera","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"nKOem8kT0W\"><a href=\"https:\/\/www.syntera.ch\/blog\/2024\/10\/09\/scrape-dynamic-apis-like-a-pro-with-selenium\/\">Scrape Dynamic APIs Like a Pro with Selenium<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.syntera.ch\/blog\/2024\/10\/09\/scrape-dynamic-apis-like-a-pro-with-selenium\/embed\/#?secret=nKOem8kT0W\" width=\"600\" height=\"338\" title=\"&#8220;Scrape Dynamic APIs Like a Pro with Selenium&#8221; &#8212; Syntera\" data-secret=\"nKOem8kT0W\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/www.syntera.ch\/blog\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","thumbnail_url":"https:\/\/www.syntera.ch\/blog\/wp-content\/uploads\/2024\/10\/banner-selenium.png","thumbnail_width":2000,"thumbnail_height":750,"description":"At Syntera, we\u2019re passionate about blending creativity with technology, especially when it comes to automation and data extraction. In this blog post, I\u2019ll show you how to scrape data from dynamic APIs like a pro, using Selenium with Firefox, a simple Django Ninja API, and a basic web page. You\u2019ll learn how to automate interactions [&hellip;]"}