Google Ads Scraper
1 day trial then $30.00/month - No credit card required now
Google Ads Scraper
1 day trial then $30.00/month - No credit card required now
Extract text, image and video ads from Google Ads, scraped from the ad library provided by Google Ads Transparency Center. Gain access to ad details, ad copy, locations, and more. Dive deeper into the Google Ads Transparency Center for a competitive edge.
It seems the video URLs are quite well protected by Google. It is impossible to open them after scraping. (fe.https://rr4---sn-q4flrnsk.googlevideo.com/videoplayback?expire=1732790344&ei=yNdHZ_D5B6KQmvUPhoKYuQo&ip=107.174.227.162&id=3aa7cd6e894e48b6&itag=22&source=youtube&requiressl=yes&xpc=Eghovf3BOnoBAQ==&met=1732761544,&mh=ro&mm=31&mn=sn-q4flrnsk&ms=au&mv=u&mvi=4&pl=24&rms=au,au&susc=daps&obr=googlesyndication.com&ctier=L&mime=video/mp4&vprv=1&rqh=1&dur=15.162&lmt=1725550411403787&mt=1732759705&txp=5432434&sparams=expire,ei,ip,id,itag,source,requiressl,xpc,susc,obr,ctier,mime,vprv,rqh,dur,lmt&sig=AJfQdSswRAIgXUoV6yK8cPGG7vhNpWdLj5aCscdZdBVAVWJBWy9DF-ECIAGdUtukt9tm5Y13cDhRpcg_kLPgXBletxJO8LwS7098&lsparams=met,mh,mm,mn,ms,mv,mvi,pl,rms&lsig=AGluJ3MwRQIhALpRXnfpdJM8DvIpS7LNlnlBh8q-ZxTqjEtj_1kXSYyGAiAsl_ahvRMVVTxOWRp21pc3QT-FxyHHR9vL7MoJyI7-IA==)
I think the only solution is if you could add an option to download and store the videos in the key value store, this way you could download them immediately after scraping which could help with the url restrictions.
Is that a possibility?
Thanks for your suggestion, please allow me some time to consider it and test solutions and I will get back to you soon.
Hi,
Good news! The feature you suggested is now live. You can specify a key-value store to save video assets when original URLs have short expiry dates. This will help with storing videos more permanently.
New input parameter: creativeAssetsKeyValueStore
Type: String
Let me know how it goes!
thanks, awesome improvement!
*edit: I did a quick test on the fronted with key value store id NYdx4Khj05II6XrvQ but it doesn't seem to capture it.
"2024-12-04T16:36:47.709Z DEBUG Default storages purged 2024-12-04T16:36:48.280Z DEBUG CheerioCrawler:SessionPool: No 'persistStateKeyValueStoreId' options specified, this session pool's data has been saved in the KeyValueStore with the id: vKZMuBtlxM82CKe2p 2024-12-04T16:36:48.368Z INFO CheerioCrawler: Starting the crawler."
So it creates a new keyvalue store whenever the field is filled it I think.
I think it is better, like with the tiktok scraper, to be able to select to download the media files, indeed create a new key value store and then just include the link to the download media in the output table. This makes it easier to link the media to the right scraped ad + after 30 days unnamed key value stores are automatically removed (reducing the risk of high storage bills)
Thank you for the valuable feedback!
I've implemented your suggested changes: the input parameter creativeAssetsKeyValueStore
has been removed and replaced with a new boolean parameter, shouldDownloadAssets
. You can test these updates in the latest version of the actor (3.0.1
).
As you recommended, the new implementation stores videos in the default key-value store, which is automatically pruned after 30 days. Additionally, the videoUrl
in the output dataset has been replaced with a link to the corresponding entry in Apify's storage.
Please let me know if everything works as expected!
Actor Metrics
68 monthly users
-
35 stars
>99% runs succeeded
16 hours response time
Created in Oct 2023
Modified 16 days ago