Files
Obsidian/Edge3pSerp/2026.9.20.1/google_maps_place_config/1.0.1/asset
T

1 line
6.3 KiB
Plaintext
Raw Normal View History

2026-11-06 08:29:11 +08:00
{"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": [