David Hicks
David Hicks
SitemapSpider of https://www.siconte.it/sitemap.xml with HTML parsing of location details. There are multiple sub-brands that may need unique Wikidata items if they don't already exist, with sitemap formats of (example of...
`https://butik.coop.dk/umbraco/api/Chains/GetAllStores` to get all stores and basic data. `https://butik.coop.dk/umbraco/api/Chains/GetStorePartials?kardex={store_id}` to get opening hours in HTML format (needing HTML parsing) for each `{store_id}`.
Geographic search required, with seemingly only 50 results returned per search: `https://storelocator.ril.com/getAllStores.aspx?flag=false&Searchformat=All&distance=100000000000&latitude=0&longitude=0` Because India is so dense, we hit the 50 result limit with just a 5km or so radius...
It could be worse. It could creep out beyond this single location and start spreading further. But in seriousness, there is some value people would find in having historical data...
JavaScript blobs and perhaps also HTML parsing of https://www.arkenzoo.se/info/vara-butiker appears to return all results
370 locations returned as JSON data with single request: https://stores.delhaize.be/api/v3/locations?size=10000&near=50.8451005%2C4.3577033&language=nl
Single API call to `https://www.ttigroup.com/ttigroup/api/v1/node/office?lang=en&page_nid=1161` appears to return all locations as JSON data.
CrawlSpider of https://shop.ritchies.com.au/multipage for links to `https://shop.ritchies.com.au/62f09b0cf605cc2043c206fc/i_choose_you` (example, where the identifier changes per location) where each of these links redirects to a dedicated store page (subdomain) such as `https://paynesville-liquor.shop.ritchies.com.au/catalogues`. Then...
All locations returned with: `curl 'https://www.supabarn.com.au/_api/dynamic-pages-router/v1/pages?gridAppId=d6e27fb2-363a-4724-8bc8-116e36722726&viewMode=site&instance=wixcode-pub.20ea3488f8e64ae3db71effc80e977b39fc5c097.eyJpbnN0YW5jZUlkIjoiMGRjNjI2MzAtNzJlOC00YTQ1LThmNTAtMDRjZDYxZjEzNGIzIiwiaHRtbFNpdGVJZCI6ImJjN2I0ZjBhLWFiYTgtNDYzNS1hMWZiLWZlNDBlODI2OTdjYyIsInVpZCI6bnVsbCwicGVybWlzc2lvbnMiOm51bGwsImlzVGVtcGxhdGUiOmZhbHNlLCJzaWduRGF0ZSI6MTcxMjIzODEyNjAxMiwiYWlkIjoiODIzODMyNjItZGU4Ny00MTc3LWEwYWItNDM3ZmJiOTRkNDE2IiwiYXBwRGVmSWQiOiJDbG91ZFNpdGVFeHRlbnNpb24iLCJpc0FkbWluIjpmYWxzZSwibWV0YVNpdGVJZCI6ImZmOTZkZmMxLTJkZTQtNDkzNS05YjE0LWMwODEyZmIzMmQ1ZSIsImNhY2hlIjpudWxsLCJleHBpcmF0aW9uRGF0ZSI6bnVsbCwicHJlbWl1bUFzc2V0cyI6Ikhhc0RvbWFpbixTaG93V2l4V2hpbGVMb2FkaW5nLEFkc0ZyZWUiLCJ0ZW5hbnQiOm51bGwsInNpdGVPd25lcklkIjoiOWQzNzlhYmYtZTk2OC00ZWVlLWI0ZmUtYWNiNWE5Mjc5NWVjIiwiaW5zdGFuY2VUeXBlIjoicHViIiwic2l0ZU1lbWJlcklkIjpudWxsLCJwZXJtaXNzaW9uU2NvcGUiOm51bGwsImxvZ2luQWNjb3VudElkIjpudWxsLCJpc0xvZ2luQWNjb3VudE93bmVyIjpudWxsfQ%3D%3D' -X POST -H 'commonConfig: {"brand":"wix","host":"VIEWER","bsi":"77e9c5bb-e653-43b5-a0df-6b2d266844a9|2","consentPolicy":{"essential":true,"functional":true,"analytics":true,"advertising":true,"dataToThirdParty":true},"consentPolicyHeader":{}}' -H 'Content-Type: application/json' -H 'x-wix-grid-app-id: d6e27fb2-363a-4724-8bc8-116e36722726' -H 'Authorization: wixcode-pub.20ea3488f8e64ae3db71effc80e977b39fc5c097.eyJpbnN0YW5jZUlkIjoiMGRjNjI2MzAtNzJlOC00YTQ1LThmNTAtMDRjZDYxZjEzNGIzIiwiaHRtbFNpdGVJZCI6ImJjN2I0ZjBhLWFiYTgtNDYzNS1hMWZiLWZlNDBlODI2OTdjYyIsInVpZCI6bnVsbCwicGVybWlzc2lvbnMiOm51bGwsImlzVGVtcGxhdGUiOmZhbHNlLCJzaWduRGF0ZSI6MTcxMjIzODEyNjAxMiwiYWlkIjoiODIzODMyNjItZGU4Ny00MTc3LWEwYWItNDM3ZmJiOTRkNDE2IiwiYXBwRGVmSWQiOiJDbG91ZFNpdGVFeHRlbnNpb24iLCJpc0FkbWluIjpmYWxzZSwibWV0YVNpdGVJZCI6ImZmOTZkZmMxLTJkZTQtNDkzNS05YjE0LWMwODEyZmIzMmQ1ZSIsImNhY2hlIjpudWxsLCJleHBpcmF0aW9uRGF0ZSI6bnVsbCwicHJlbWl1bUFzc2V0cyI6Ikhhc0RvbWFpbixTaG93V2l4V2hpbGVMb2FkaW5nLEFkc0ZyZWUiLCJ0ZW5hbnQiOm51bGwsInNpdGVPd25lcklkIjoiOWQzNzlhYmYtZTk2OC00ZWVlLWI0ZmUtYWNiNWE5Mjc5NWVjIiwiaW5zdGFuY2VUeXBlIjoicHViIiwic2l0ZU1lbWJlcklkIjpudWxsLCJwZXJtaXNzaW9uU2NvcGUiOm51bGwsImxvZ2luQWNjb3VudElkIjpudWxsLCJpc0xvZ2luQWNjb3VudE93bmVyIjpudWxsfQ==' --data-raw '{"routerPrefix":"/stores","config":{"patterns":{"/{title}":{"seoMetaTags":{"description":"{_id}","robots":"index"},"pageRole":"87e42d16-69de-4fa8-ada9-c13a30b9a73f","title":"{title}","config":{"collection":"Stores","pageSize":1,"lowercase":true,"sort":[{"title":"asc"}],"seoV2":false}},"/":{"seoMetaTags":{"robots":"index"},"pageRole":"92ff8094-4b95-4954-a66e-7add2e6bf65b","title":"Stores","config":{"collection":"Stores","pageSize":20,"lowercase":true,"seoV2":false,"sort":[{"title":"asc"}]}}}},"pageRoles":{"87e42d16-69de-4fa8-ada9-c13a30b9a73f":{"id":"rt6pd","title":"Stores (Individual)"},"92ff8094-4b95-4954-a66e-7add2e6bf65b":{"id":"x6no3","title":"Stores (All)"}},"requestInfo":{"env":"browser","formFactor":"desktop"},"routerSuffix":"/","fullUrl":"https://www.supabarn.com.au/stores/"}'` There is an app ID and...
@CloCkWeRX Heads up there could be an alternative approach to `WpGoMapsSpider` needed where instead of the API being usable (in this case it is a 500 access denied error), there...