{"common": {"Name": "Google Maps Place Config", "Description": "Extracts structured place data from Google Maps place detail pages (/maps/place/...). Selectors derived from EETree-captured DOM. Uses [class*=] selectors compatible with EETree QuerySelectorAll.", "AllowedSelectors": [{"Name": "PlaceName", "Description": "Place name heading (e.g., 'T&T Supermarket Bellevue')", "QuerySelector": "h1[class*=\"DUwDvf\"]", "RequiredSection": true, "NodesToDrop": []}, {"Name": "PlaceHeaderBlock", "Description": "Header block: name, rating (4.1), review count, price level, category in one div", "QuerySelector": "div[class*=\"TIHn2\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceRating", "Description": "Star rating with aria-label '4.1 stars' (class ceNzKf)", "QuerySelector": "span[class*=\"ceNzKf\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceCategory", "Description": "Primary category button (e.g., 'Asian grocery store')", "QuerySelector": "button[class*=\"DkEaL\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceInfoButtons", "Description": "Contact info buttons \u00e2\u20ac\u201d address, phone, plus code, located-in. Each has data-item-id and aria-label with the value.", "QuerySelector": "button[class*=\"CsEnBe\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceInfoLinks", "Description": "Contact info links \u00e2\u20ac\u201d website, menu. Has data-item-id='authority' and aria-label with domain.", "QuerySelector": "a[class*=\"CsEnBe\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceInfoRows", "Description": "Individual info text rows \u00e2\u20ac\u201d address text, phone text, website text (class rogA2c)", "QuerySelector": "div[class*=\"rogA2c\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceOpenStatus", "Description": "Current open/closed status (e.g., 'Open \u00c2\u00b7 Closes 11 PM')", "QuerySelector": "span[class*=\"ZDu9vd\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceHoursRows", "Description": "Individual day hours rows (e.g., 'Monday, 9 AM\u00e2\u20ac\u201c11 PM'). Each button has data-value with hours.", "QuerySelector": "button[class*=\"mWUh3d\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "PlaceAccessibility", "Description": "Accessibility features (e.g., 'Wheelchair accessible entrance')", "QuerySelector": "span[class*=\"wmQCje\"]", "RequiredSection": false, "NodesToDrop": []}], "RegexToScrub": [], "AllowedUrlParams": {"UrlParams": [{"Name": "entry"}], "UrlSiteParams": [], "UrlParamWithValue": [], "UrlRefs": []}, "NodesToDrop": [{"Name": "ReviewText", "Description": "User review text content contains personal opinions", "QuerySelector": "span[class*=\"wiI7pd\"]", "ReplaceWord": "###PII-REVIEW-TEXT###", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "ReviewerInfo", "Description": "Reviewer profile info (name, Local Guide badge, review count)", "QuerySelector": "button[class*=\"al6Kxe\"]", "ReplaceWord": "###PII-REVIEWER###", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "ReviewActions", "Description": "Review action buttons (like, report)", "QuerySelector": "button[class*=\"PP3Y3d\"]", "ReplaceWord": "", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "ReviewPhotos", "Description": "Photos attached to reviews", "QuerySelector": "button[class*=\"Tya61d\"]", "ReplaceWord": "", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "UserPhotos", "Description": "User-contributed photo thumbnails with profile images", "QuerySelector": "button[class*=\"WEBjve\"]", "ReplaceWord": "###PII-PHOTO###", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "SponsoredContent", "Description": "Sponsored/ad content in the place panel", "QuerySelector": "h1[class*=\"kpih0e\"]", "ReplaceWord": "###AD-CONTENT###", "PositiveSelectors": [], "NegativeSelectors": []}], "NetworkInterception": {"InterceptRequestHostName": "google", "InterceptRequestPaths": [{"Path": "/maps/preview/place", "ResponseMimeType": "application/json"}], "JsonExtraction": {"Fields": [{"Name": "place_name", "JsonPath": "$[6][11]", "ScrubPII": false}, {"Name": "place_category", "JsonPath": "$[6][13]", "ScrubPII": false}, {"Name": "address", "JsonPath": "$[6][2]", "ScrubPII": false}, {"Name": "address_full", "JsonPath": "$[6][39]", "ScrubPII": false}, {"Name": "rating", "JsonPath": "$[6][4][7]", "ScrubPII": false}, {"Name": "review_count", "JsonPath": "$[6][4][8]", "ScrubPII": false}, {"Name": "phone", "JsonPath": "$[6][178][0][0]", "ScrubPII": false}, {"Name": "website", "JsonPath": "$[6][7][0]", "ScrubPII": false}, {"Name": "hours_summary", "JsonPath": "$[6][203][1][4][0]", "ScrubPII": false}, {"Name": "price_level", "JsonPath": "$[6][4][2]", "ScrubPII": false}]}}}}