diff --git a/pycaching/geocaching.py b/pycaching/geocaching.py index 7734919..f769acc 100644 --- a/pycaching/geocaching.py +++ b/pycaching/geocaching.py @@ -7,14 +7,14 @@ import re import subprocess from os import path -from typing import Optional, Union +from typing import Generator, Optional, Union from urllib.parse import parse_qs, urljoin, urlparse import bs4 import requests from bs4.element import Script # Direct import as `bs4.Script` requires version >= 4.9.1. -from pycaching.cache import Cache, Size, Status +from pycaching.cache import Cache from pycaching.errors import Error, LoginFailedException, NotLoggedInException, PMOnlyException, TooManyRequestsError from pycaching.geo import Point, Rectangle from pycaching.log import Log @@ -52,7 +52,7 @@ class Geocaching(object): "search": "play/search", "search_more": "play/search/more-results", "my_logs": "my/logs.aspx", - "api_search": "api/proxy/web/search", + "api_search": "api/proxy/web/search/v2", } _credentials_file = ".gc_credentials" @@ -243,116 +243,43 @@ def get_logged_user(self, login_page=None): m = re.search(r'"username":\s*"(.*)"', js_content) return m.group(1) if m else None - def search(self, point, limit=float("inf")): - """Return a generator of caches around some point. - - Search for caches around some point by loading search pages and parsing the data from these - pages. Yield :class:`.Cache` objects filled with data from search page. You can provide limit - as a convenient way to stop generator after certain number of caches. - - :param .geo.Point point: Search center point. - :param int limit: Maximum number of caches to generate. - """ - logging.info("Searching at {}".format(point)) - - start_index = 0 - while True: - # get one page - geocaches_table, whole_page = self._search_get_page(point, start_index) - rows = geocaches_table.find_all("tr") - - # leave loop if there are no (more) results - if not rows: - return - - # prepare language-dependent mappings - if start_index == 0: - cache_sizes_filter_wrapper = whole_page.find("div", class_="cache-sizes-wrapper") - localized_size_mapping = { - # key = "Small" (localized), value = Size.small - label.find("span").text.strip(): Size.from_number(label.find("input").get("value")) - for label in cache_sizes_filter_wrapper.find_all("label") - } - - # parse caches in result - for start_index, row in enumerate(rows, start_index): - - limit -= 1 # handle limit - if limit < 0: - return - - # parse raw data - cache_details = row.find("span", "cache-details").text.split("|") - wp = cache_details[1].strip() - - # create and fill cache object - # values are sanitized and converted in Cache setters - c = Cache(self, wp) - c.type = cache_details[0] - c.name = row.find("span", "cache-name").text - badge = row.find("svg", class_="badge") - c.found = "found" in str(badge) if badge is not None else False - c.favorites = row.find(attrs={"data-column": "FavoritePoint"}).text - if not (row.get("class") and "disabled" in row.get("class")): - c.status = Status.enabled - c.pm_only = row.find("td", "pm-upsell") is not None - - if c.pm_only: - # PM only caches doesn't have other attributes filled in - yield c - continue - - c.size = localized_size_mapping[row.find(attrs={"data-column": "ContainerSize"}).text.strip()] - c.difficulty = row.find(attrs={"data-column": "Difficulty"}).text - c.terrain = row.find(attrs={"data-column": "Terrain"}).text - c.hidden = row.find(attrs={"data-column": "PlaceDate"}).text - c.author = row.find("span", "owner").text[3:] # delete "by " - - logging.debug("Cache parsed: {}".format(c)) - yield c - - start_index += 1 - - def _search_get_page(self, point, start_index): - """Return one page for standard search as class:`bs4.BeautifulSoup` object. - - :param .geo.Point point: Search center point. - :param int start_index: Determines the page. If start_index is greater than zero, this - method will use AJAX andpoint which is much faster. + def search( + self, + point: Point, + limit: int = float("inf"), + *, + sort_by: Union[str, SortOrder] = SortOrder.date_last_visited, + reverse: bool = False, + per_query: int = 200, + wait_sleep: bool = True, + ) -> Generator[Optional[Cache], None, None]: + """Search for caches around a specified location using a search API. + + :param point: The :class:`.geo.Point` object representing the center point of the search. + :param limit: The maximum number of caches to load. + Defaults to infinity. + :param sort_by: The criterion to sort the caches by. + Defaults to :code:`SortOrder.date_last_visited`. + :param reverse: If :code:`True`, the order of the results is reversed. + Defaults to :code:`False`. + :param per_query: The number of caches to request in each query. + Defaults to :code:`200`. + :param wait_sleep: In case of rate limits exceeding, wait appropriate time + if set to :code:`True`, otherwise just yield :code:`None`. + Defaults to :code:`True`. + :return: A generator that yields :class:`.Cache` objects. """ - assert hasattr(point, "format") and callable(point.format) - logging.debug("Loading page from start_index {}".format(start_index)) - - if start_index == 0: - # first request has to load normal search page - logging.debug("Using normal search endpoint") - - # make request - res = self._request( - self._urls["search"], - params={ - "origin": point.format_decimal(), - }, - ) - return res.find(id="geocaches"), res - else: - # other requests can use AJAX endpoint - logging.debug("Using AJAX search endpoint") - - # make request - res = self._request( - self._urls["search_more"], - params={ - "origin": point.format_decimal(), - "startIndex": start_index, - "ssvu": 2, - "selectAll": "false", - }, - expect="json", - ) - - return bs4.BeautifulSoup(res["HtmlString"].strip(), "html.parser"), None + return self.advanced_search( + { + "origin": "{},{}".format(point.latitude, point.longitude), + "asc": str(not reverse).lower(), + "sort": sort_by.value, + }, + per_query=per_query, + limit=limit, + wait_sleep=wait_sleep, + ) @deprecated def search_quick(self, area): @@ -366,38 +293,38 @@ def search_quick(self, area): return self.search_rect(area) - # add some shortcuts ------------------------------------------------------ - def search_rect( self, rect: Rectangle, + limit: int = float("inf"), *, - per_query: int = 200, sort_by: Union[str, SortOrder] = SortOrder.date_last_visited, reverse: bool = False, - limit: int = float("inf"), + per_query: int = 200, origin: Optional[Point] = None, - wait_sleep: bool = True - ): - """ - Return a generator of caches in given Rectange area. - - :param rect: Search area. - :param int per_query: Number of caches requested in single query. - :param sort_by: Order cached by given criterion. - :param reverse: Reverse sort order. - :param limit: Maximum number of caches to return. - :param origin: Origin point for search by distance. - :param wait_sleep: In case of rate limits exceeding, wait appropriate time if set True, - otherwise just yield None. + wait_sleep: bool = True, + ) -> Generator[Optional[Cache], None, None]: + """Search for caches in a specified :class:`.Rectangle` area using a search API. + + :param rect: The :class:`.Rectangle` object representing the search area. + :param limit: The maximum number of caches to load. + Defaults to infinity. + :param sort_by: The criterion to sort the caches by. + Defaults to :code:`SortOrder.date_last_visited`. + :param reverse: If :code:`True`, the order of the results is reversed. + Defaults to :code:`False`. + :param per_query: The number of caches to request in each query. + Defaults to :code:`200`. + :param origin: The origin point for search by distance, required when sorting by distance. + :param wait_sleep: In case of rate limits exceeding, wait appropriate time + if set to :code:`True`, otherwise just yield :code:`None`. + Defaults to :code:`True`. + :return: A generator that yields :class:`.Cache` objects. """ + if not isinstance(sort_by, SortOrder): sort_by = SortOrder(sort_by) - if limit <= 0: - return - - take_amount = min(limit, per_query) params = { "box": "{},{},{},{}".format( rect.corners[0].latitude, @@ -405,9 +332,7 @@ def search_rect( rect.corners[1].latitude, rect.corners[1].longitude, ), - "take": take_amount, "asc": str(not reverse).lower(), - "skip": 0, "sort": sort_by.value, } @@ -415,6 +340,52 @@ def search_rect( assert isinstance(origin, Point) params["origin"] = "{},{}".format(origin.latitude, origin.longitude) + return self.advanced_search( + params, + per_query=per_query, + limit=limit, + wait_sleep=wait_sleep, + ) + + def advanced_search( + self, + options: dict, + limit: int = float("inf"), + per_query: int = 200, + wait_sleep: bool = True, + ) -> Generator[Optional[Cache], None, None]: + """Perform an advanced search for geocaches with specific search criteria. + + The search is performed using the options provided in the :code:`options` parameter. + Example of the :code:`options` parameter:: + + # https://www.geocaching.com/play/search?owner[0]=Geocaching%20HQ&a=0 + options = {"owner[0]": "Geocaching HQ", "a": "0"} + + :param options: A dictionary of search options. + :param limit: The maximum number of caches to load. + Defaults to infinity. + :param per_query: The number of caches to request in each query. + Defaults to :code:`200`. + :param wait_sleep: In case of rate limits exceeding, wait appropriate time + if set to :code:`True`, otherwise just yield :code:`None`. + Defaults to :code:`True`. + :return: A generator that yields :class:`.Cache` objects. + """ + + if limit <= 0: + return + + take_amount = min(limit, per_query) + + params = options.copy() + params.update( + { + "take": take_amount, + "skip": 0, + } + ) + total, offset = None, 0 while (offset < limit) and ((total is None) or (offset < total)): params["skip"] = offset @@ -434,6 +405,8 @@ def search_rect( total = resp["total"] offset += take_amount + # add some shortcuts ------------------------------------------------------ + def geocode(self, location): """Return a :class:`.Point` object from geocoded location. diff --git a/test/cassettes/advanced_search.json b/test/cassettes/advanced_search.json new file mode 100644 index 0000000..be45c44 --- /dev/null +++ b/test/cassettes/advanced_search.json @@ -0,0 +1,86 @@ +{ + "http_interactions": [ + { + "recorded_at": "2023-03-25T17:41:54", + "request": { + "body": { + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Accept": [ + "*/*" + ], + "Accept-Encoding": [ + "gzip, deflate" + ], + "Connection": [ + "keep-alive" + ], + "Cookie": [ + "gspkauth=; jwt=; __RequestVerificationToken=" + ], + "User-Agent": [ + "python-requests/2.28.1" + ] + }, + "method": "GET", + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?st=Prague%2C+Hlavn%C3%AD+m%C4%9Bsto+Praha&ot=query&asc=false&sort=distance&take=50&skip=0" + }, + "response": { + "body": { + "base64_string": "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", + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Cache-Control": [ + "max-age=60, private" + ], + "Connection": [ + "Keep-Alive" + ], + "Content-Encoding": [ + "gzip" + ], + "Content-Length": [ + "11068" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "CorrelationGuid": [ + "821f2b09-82d6-406f-959b-83affe08a87e" + ], + "Date": [ + "Sat, 25 Mar 2023 17:41:53 GMT" + ], + "Set-Cookie": [ + "jwt=; expires=Sat, 25 Mar 2023 18:40:52 GMT; domain=.geocaching.com; path=/; secure; httponly" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Vary": [ + "Accept-Encoding" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "X-XSS-Protection": [ + "1" + ] + }, + "status": { + "code": 200, + "message": "OK" + }, + "url": "https://www.geocaching.com/api/proxy/web/search/v2?st=Prague%2C+Hlavn%C3%AD+m%C4%9Bsto+Praha&ot=query&asc=false&sort=distance&take=50&skip=0" + } + } + ], + "recorded_with": "betamax/0.8.1" +} \ No newline at end of file diff --git a/test/cassettes/advanced_search_caches_owned_by_hq.json b/test/cassettes/advanced_search_caches_owned_by_hq.json new file mode 100644 index 0000000..478f353 --- /dev/null +++ b/test/cassettes/advanced_search_caches_owned_by_hq.json @@ -0,0 +1,83 @@ +{ + "http_interactions": [ + { + "recorded_at": "2023-03-25T17:41:53", + "request": { + "body": { + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Accept": [ + "*/*" + ], + "Accept-Encoding": [ + "gzip, deflate" + ], + "Connection": [ + "keep-alive" + ], + "Cookie": [ + "gspkauth=; __RequestVerificationToken=" + ], + "User-Agent": [ + "python-requests/2.28.1" + ] + }, + "method": "GET", + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?hb=Geocaching+HQ&take=200&skip=0" + }, + "response": { + "body": { + "base64_string": "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", + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Cache-Control": [ + "max-age=60, private" + ], + "Content-Encoding": [ + "gzip" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "CorrelationGuid": [ + "c5318dea-234d-47b7-b551-7daf4f287d24" + ], + "Date": [ + "Sat, 25 Mar 2023 17:41:52 GMT" + ], + "Set-Cookie": [ + "jwt=; expires=Sat, 25 Mar 2023 18:40:52 GMT; domain=.geocaching.com; path=/; secure; httponly" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Transfer-Encoding": [ + "chunked" + ], + "Vary": [ + "Accept-Encoding" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "X-XSS-Protection": [ + "1" + ] + }, + "status": { + "code": 200, + "message": "OK" + }, + "url": "https://www.geocaching.com/api/proxy/web/search/v2?hb=Geocaching+HQ&take=200&skip=0" + } + } + ], + "recorded_with": "betamax/0.8.1" +} \ No newline at end of file diff --git a/test/cassettes/geocaching_api_rate_limit.json b/test/cassettes/geocaching_api_rate_limit.json index 7adf09b..b060e51 100644 --- a/test/cassettes/geocaching_api_rate_limit.json +++ b/test/cassettes/geocaching_api_rate_limit.json @@ -25,7 +25,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" }, "response": { "body": { @@ -78,7 +78,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" } }, { @@ -106,7 +106,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" }, "response": { "body": { @@ -149,7 +149,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" } }, { @@ -177,7 +177,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" }, "response": { "body": { @@ -220,7 +220,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" } }, { @@ -248,7 +248,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" }, "response": { "body": { @@ -291,7 +291,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" } }, { @@ -319,7 +319,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" }, "response": { "body": { @@ -362,7 +362,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" } }, { @@ -390,7 +390,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" }, "response": { "body": { @@ -440,7 +440,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" } }, { @@ -468,7 +468,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" }, "response": { "body": { @@ -518,7 +518,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" } }, { @@ -546,7 +546,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -589,7 +589,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } }, { @@ -617,7 +617,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=8&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=8&sort=datelastvisited" }, "response": { "body": { @@ -660,7 +660,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=8&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=8&sort=datelastvisited" } }, { @@ -688,7 +688,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=9&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=9&sort=datelastvisited" }, "response": { "body": { @@ -738,7 +738,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=9&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=9&sort=datelastvisited" } }, { @@ -766,7 +766,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" }, "response": { "body": { @@ -812,7 +812,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" } }, { @@ -840,7 +840,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" }, "response": { "body": { @@ -890,7 +890,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=10&sort=datelastvisited" } } ], diff --git a/test/cassettes/geocaching_api_rate_limit_with_none.json b/test/cassettes/geocaching_api_rate_limit_with_none.json index 0bd0a19..fa1e7b4 100644 --- a/test/cassettes/geocaching_api_rate_limit_with_none.json +++ b/test/cassettes/geocaching_api_rate_limit_with_none.json @@ -25,7 +25,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" }, "response": { "body": { @@ -75,7 +75,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=0&sort=datelastvisited" } }, { @@ -103,7 +103,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" }, "response": { "body": { @@ -146,7 +146,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=1&sort=datelastvisited" } }, { @@ -174,7 +174,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" }, "response": { "body": { @@ -217,7 +217,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=2&sort=datelastvisited" } }, { @@ -245,7 +245,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" }, "response": { "body": { @@ -288,7 +288,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=3&sort=datelastvisited" } }, { @@ -316,7 +316,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" }, "response": { "body": { @@ -359,7 +359,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=4&sort=datelastvisited" } }, { @@ -387,7 +387,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" }, "response": { "body": { @@ -430,7 +430,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=5&sort=datelastvisited" } }, { @@ -458,7 +458,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" }, "response": { "body": { @@ -501,7 +501,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=6&sort=datelastvisited" } }, { @@ -529,7 +529,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -575,7 +575,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } }, { @@ -603,7 +603,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -649,7 +649,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } }, { @@ -677,7 +677,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -723,7 +723,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } }, { @@ -751,7 +751,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -797,7 +797,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } }, { @@ -825,7 +825,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -871,7 +871,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } }, { @@ -899,7 +899,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -945,7 +945,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } }, { @@ -973,7 +973,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" }, "response": { "body": { @@ -1016,7 +1016,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=50.74%2C13.38%2C49.73%2C14.4&take=1&asc=true&skip=7&sort=datelastvisited" } } ], diff --git a/test/cassettes/geocaching_quick_search.json b/test/cassettes/geocaching_quick_search.json index 96a63ca..6ba3501 100644 --- a/test/cassettes/geocaching_quick_search.json +++ b/test/cassettes/geocaching_quick_search.json @@ -25,7 +25,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.4&take=200&asc=true&skip=0&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.4&take=200&asc=true&skip=0&sort=datelastvisited" }, "response": { "body": { @@ -78,7 +78,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.4&take=200&asc=true&skip=0&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.4&take=200&asc=true&skip=0&sort=datelastvisited" } } ], diff --git a/test/cassettes/geocaching_search.json b/test/cassettes/geocaching_search.json index d690edf..82476bb 100644 --- a/test/cassettes/geocaching_search.json +++ b/test/cassettes/geocaching_search.json @@ -1,7 +1,7 @@ { "http_interactions": [ { - "recorded_at": "2021-11-14T01:37:12", + "recorded_at": "2023-03-25T17:30:57", "request": { "body": { "encoding": "utf-8", @@ -21,133 +21,53 @@ "gspkauth=; Culture=en-US; __RequestVerificationToken=" ], "User-Agent": [ - "python-requests/2.26.0" + "python-requests/2.28.1" ] }, "method": "GET", - "uri": "https://www.geocaching.com/play/search?origin=49.733867%2C+13.397091" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?origin=49.733867%2C13.397091&asc=true&sort=datelastvisited&take=20&skip=0" }, "response": { "body": { - "encoding": "utf-8", - "string": "Object moved\r\n

Object moved to here.

\r\n\r\n" - }, - "headers": { - "Cache-Control": [ - "private, s-maxage=0" - ], - "Content-Length": [ - "207" - ], - "Content-Type": [ - "text/html; charset=utf-8" - ], - "Date": [ - "Sun, 14 Nov 2021 01:37:12 GMT" - ], - "Location": [ - "/play/search?lat=49.733867&lng=13.397091&origin=49.733867,+13.397091&utr=false" - ], - "Request-Context": [ - "appId=cid-v1:4b073fcf-4f27-40ae-ad90-f5ba794bbe37" - ], - "Server": [ - "Microsoft-IIS/10.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Vary": [ - "Accept-Encoding" - ], - "X-AspNet-Version": [ - "4.0.30319" - ], - "X-AspNetMvc-Version": [ - "5.2" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Frame-Options": [ - "SAMEORIGIN" - ], - "X-XSS-Protection": [ - "1" - ] - }, - "status": { - "code": 302, - "message": "Found" - }, - "url": "https://www.geocaching.com/play/search?origin=49.733867%2C+13.397091" - } - }, - { - "recorded_at": "2021-11-14T01:37:13", - "request": { - "body": { + "base64_string": "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", "encoding": "utf-8", "string": "" }, "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" + "Cache-Control": [ + "max-age=60, private" ], "Connection": [ - "keep-alive" - ], - "Cookie": [ - "gspkauth=; Culture=en-US; __RequestVerificationToken=" + "Keep-Alive" ], - "User-Agent": [ - "python-requests/2.26.0" - ] - }, - "method": "GET", - "uri": "https://www.geocaching.com/play/search?lat=49.733867&lng=13.397091&origin=49.733867,+13.397091&utr=false" - }, - "response": { - "body": { - "encoding": "utf-8", - "string": "\n\n\n\n\n\n \n \n\n \n \n \n \n \n \n Geocaching – Advanced Search: Find, filter and sort geocaches\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n \n \r\n\n \n \n\n \r\n\n \r\n\n \n \n \n\n \n\n \n \n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n \n \n\n \n
\n
\n \n \n\n\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n ×\r\n

\r\n We couldn’t find your exact location, so we did our best using your IP address. Enter a city name for more accurate results.\r\n

\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

1,701 results for...

\r\n
\r\n
\r\n
\r\n\n\n\n\n
\n
\n \n
\n
\n Membership Type\n
\n \n \n \n
\n
\n
\n
\n
\n Cache Status\n
\n \n \n \n
\n
\n
\n
\n
\n Corrected Coordinates\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n \n \n \n \n
\n\n
\n \n \n \n \n\n \n
\n\n
\n \n \n \n \n\n\n \n\n \n
\n\n
\n \n \n \n \n\n \n
\n \n
\n
\n \n \n Attributes\n \n \n \n \n \n \n Max attributes selected (10)\n
    \n
  • \n \n Needs maintenance\n
  • \n
  • \n \n Wheelchair accessible\n
  • \n
  • \n \n Recommended for kids\n
  • \n
  • \n \n Stroller accessible\n
  • \n
  • \n \n Dogs allowed\n
  • \n
  • \n \n Scenic view nearby\n
  • \n
  • \n \n Part of a GeoTour\n
  • \n
  • \n \n Challenge cache\n
  • \n
  • \n \n Available 24/7\n
  • \n
  • \n \n Takes less than one hour\n
  • \n
  • \n \n Park and grab\n
  • \n
  • \n \n Parking nearby\n
  • \n
  • \n \n Access/parking fee\n
  • \n
  • \n \n In private yard (with permission)\n
  • \n
  • \n \n Bicycles allowed\n
  • \n
  • \n \n <1 km hike\n
  • \n
  • \n \n 1 km–10 km hike\n
  • \n
  • \n \n >10 km hike\n
  • \n
  • \n \n Significant hike\n
  • \n
  • \n \n Geocaching.com solution checker enabled\n
  • \n
  • \n \n Bonus cache\n
  • \n
  • \n \n Field puzzle\n
  • \n
  • \n \n Part of a power trail\n
  • \n
  • \n \n Teamwork cache\n
  • \n
  • \n \n Night cache\n
  • \n
  • \n \n Recommended at night\n
  • \n
  • \n \n Flashlight required\n
  • \n
  • \n \n UV light required\n
  • \n
  • \n \n Stealth required\n
  • \n
  • \n \n Special tool required\n
  • \n
  • \n \n Recommended for tourists\n
  • \n
  • \n \n Picnic tables nearby\n
  • \n
  • \n \n Public restrooms nearby\n
  • \n
  • \n \n Food nearby\n
  • \n
  • \n \n Drinking water nearby\n
  • \n
  • \n \n Public transportation nearby\n
  • \n
  • \n \n Motorcycles allowed\n
  • \n
  • \n \n Quads allowed\n
  • \n
  • \n \n Off-road vehicles allowed\n
  • \n
  • \n \n Trucks/RVs allowed\n
  • \n
  • \n \n Fuel nearby\n
  • \n
  • \n \n Horses allowed\n
  • \n
  • \n \n Camping nearby\n
  • \n
  • \n \n Campfires allowed\n
  • \n
  • \n \n Telephone nearby\n
  • \n
  • \n \n Wireless receiver required\n
  • \n
  • \n \n Seasonal access only\n
  • \n
  • \n \n Available in winter\n
  • \n
  • \n \n Snowmobiles allowed\n
  • \n
  • \n \n May require snowshoes\n
  • \n
  • \n \n May require cross country skis\n
  • \n
  • \n \n May require wading\n
  • \n
  • \n \n May require swimming\n
  • \n
  • \n \n Boat required\n
  • \n
  • \n \n Scuba gear required\n
  • \n
  • \n \n Tree climbing required\n
  • \n
  • \n \n Climbing gear required\n
  • \n
  • \n \n Difficult climb\n
  • \n
  • \n \n Dangerous area\n
  • \n
  • \n \n Cliffs/falling rocks nearby\n
  • \n
  • \n \n Abandoned mine nearby\n
  • \n
  • \n \n Abandoned structure nearby\n
  • \n
  • \n \n Dangerous animals nearby\n
  • \n
  • \n \n Livestock nearby\n
  • \n
  • \n \n Ticks nearby\n
  • \n
  • \n \n Poisonous plants nearby\n
  • \n
  • \n \n Thorns nearby\n
  • \n
  • \n \n Hunting area\n
  • \n
  • \n \n Partnership cache\n
  • \n
  • \n \n Part of Lost and Found tour\n
  • \n
\n
\n \n
\n \n
\n
\n \n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n\n\n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Geocache Name\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\nDistance \r\n Favorites\r\n \r\n Size\r\n \r\n Difficulty\r\n \r\n Terrain\r\n \r\n Last Found\r\n \r\n Placed On\r\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n zdehajova 🚌🚏\n Traditional | GC7RR74\n by zdehaj\n\n \n \n0.83km SW\n \n 223\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Vodni plochy Lobezska louka\n Traditional | GC5EDMF\n by Tomasook a Mira83\n\n \n \n0.88km NE\n \n 113\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Tragedie BONUS\n Mystery | GC41FJC\n by brutalniopicka\n\n \n \n0.12km SW\n \n 17\n \n Small\n \n 5.0\n \n 1.5\n \n2/11/2021 \n 11/18/2012\n
\n \n \n \n \n \n\n \n\n\n \n\n\n filmova mista - Mach a Sebestova k tabuli!\n Mystery | GC5VJ0P\n by lukyhonzik\n\n \n \n0.33km NW\n \n 33\n \n Micro\n \n 3.0\n \n 2.0\n \n10/27/2021 \n 6/23/2015\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Adventure Lab: Pam\u00e1tn\u00edky na Slovanech\n Mystery | GC8Z14D\n by Helcalo\n\n \n \n0.34km E\n \n 21\n \n Micro\n \n 2.0\n \n 2.5\n \n11/7/2021 \n 8/27/2020\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hodina telesn\u00e9 v\u00fdchovy\n Mystery | GC167Y7\n by dejf75\n\n \n \n0.48km N\n \n 4\n \n Micro\n \n 2.5\n \n 1.5\n \n10/24/2021 \n 10/1/2007\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Vrana nebo cap\n Mystery | GC16BW1\n by vatici\n\n \n \n0.5km SE\n \n 5\n \n Small\n \n 3.0\n \n 1.5\n \n7/18/2021 \n 10/3/2007\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Stredni prumyslova skola elektrotechnicka v Plzni\n Mystery | GC50AQ6\n by kynclt\n\n \n \n0.52km E\n \n 2\n \n Micro\n \n 2.0\n \n 1.5\n \n4/1/2021 \n 3/25/2014\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n My\u0161ka 🐭\n Traditional | GC86RK3\n by bobrlinek\n\n \n \n0.54km NE\n \n 56\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n JN69RR23PQ\n Mystery | GC3TF1K\n by cbfousac\n\n \n \n0.59km SE\n \n 35\n \n Micro\n \n 3.5\n \n 1.0\n \n9/15/2021 \n 1/9/2013\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Slunce, duha a jednorozci\n Letterbox Hybrid | GC868VY\n by Tomasook\n\n \n \n0.79km NW\n \n 24\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Pet \u017eulov\u00fdch pomn\u00edcku\n Mystery | GC1M7GP\n by ivrys\n\n \n \n0.81km NW\n \n 3\n \n Small\n \n 2.0\n \n 1.5\n \n10/24/2021 \n 6/16/2009\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hospic svateho Lazara\n Traditional | GC7TT7T\n by tomiczech\n\n \n \n0.83km N\n \n 66\n \n Regular\n \n 2.5\n \n 1.0\n \n11/7/2021 \n 7/18/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hlinik na dovolene\n Mystery | GC7GNTE\n by bobrlinek\n\n \n \n0.85km SW\n \n 21\n \n Micro\n \n 5.0\n \n 1.0\n \n10/24/2021 \n 1/3/2018\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Kam a\u017e sah\u00e1 Plze\u0148?\n Mystery | GC93HA6\n by Denny\u0161\u00e1k_a_Baty\n\n \n \n0.86km W\n \n 23\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Dezinfekce hliniku\n Mystery | GC44001\n by RouLovci\n\n \n \n0.9km SW\n \n 34\n \n Regular\n \n 4.5\n \n 1.5\n \n11/3/2021 \n 1/19/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Miroslav Zikmund\n Mystery | GC77PV1\n by ho.be\n\n \n \n0.9km N\n \n 30\n \n Regular\n \n 3.5\n \n 1.0\n \n10/24/2021 \n 6/23/2017\n
\n \n \n \n \n \n\n \n\n\n \n\n\n 3*2=7 hliniku\n Mystery | GC5MGHV\n by 3*2=7 & nigisek\n\n \n \n0.91km SW\n \n 9\n \n Small\n \n 5.0\n \n 2.0\n \n4/10/2021 \n 1/23/2015\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hodina matematiky\n Mystery | GC161KR\n by dejf75\n\n \n \n0.94km NW\n \n 13\n \n Micro\n \n 3.5\n \n 1.5\n \n10/24/2021 \n 9/18/2007\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Aplikace hlin\u00edku\n Mystery | GC84801\n by V_clav11 CZ\n\n \n \n0.95km SW\n \n 49\n \n Micro\n \n 5.0\n \n 4.0\n \n9/27/2021 \n 2/28/2019\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Infekce hliniku\n Mystery | GC3P972\n by Lindbergh007\n\n \n \n0.96km SW\n \n 118\n \n Large\n \n 5.0\n \n 2.5\n \n10/16/2021 \n 7/29/2012\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Stare Doudlevce\n Multi-Cache | GC18WF8\n by vudy\n\n \n \n0.97km SW\n \n 3\n \n Micro\n \n 2.0\n \n 1.5\n \n10/24/2021 \n 1/25/2008\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Gymik\n Mystery | GC1GW54\n by Jesteri\n\n \n \n0.97km NW\n \n 4\n \n Regular\n \n 2.0\n \n 2.0\n \n11/4/2021 \n 10/5/2008\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hlinik se odstehoval do Humpolce\n Mystery | GC73A4Z\n by M13JP\n\n \n \n0.97km SW\n \n 43\n \n Small\n \n 4.0\n \n 2.0\n \n7/7/2021 \n 4/4/2017\n
\n \n \n \n \n \n\n \n\n\n \n\n\n PM #58 Papirenska\n Mystery | GC7JRR5\n by RicTEP\n\n \n \n0.99km W\n \n 9\n \n Small\n \n 4.0\n \n 2.5\n \n8/12/2021 \n 2/25/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Plzenske ctvrte - Slovany\n Multi-Cache | GC7MJ88\n by Whiny\n\n \n \n0.99km NW\n \n 5\n \n Micro\n \n 2.0\n \n 2.0\n \n5/16/2021 \n 4/5/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Bezdr\u00e1tov\u00fd hlin\u00edk\n Mystery | GC7HBH2\n by zdehaj\n\n \n \n0.99km SW\n \n 145\n \n Small\n \n 4.5\n \n 1.0\n \n11/10/2021 \n 12/7/2019\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Extraligov\u00e1 🏒 \n Mystery | GC6XFJ5\n by zdehaj\n\n \n \n1km S\n \n 24\n \n Small\n \n 2.5\n \n 1.5\n \n8/3/2021 \n 11/27/2016\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hlin\u00edk ve hv\u011bzd\u00e1ch\n Mystery | GC7JZ1E\n by V_clav11 CZ\n\n \n \n1km SW\n \n 56\n \n Micro\n \n 4.0\n \n 2.5\n \n6/4/2021 \n 12/21/2012\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Plzensky zavinac u hliniku\n Mystery | GC8QTPA\n by Tomasook a Denny\u0161\u00e1k & Baty\n\n \n \n1km SW\n \n 29\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Inspekce hliniku\n Mystery | GC4NXMZ\n by AHA & team\n\n \n \n1km SW\n \n 53\n \n Small\n \n 4.0\n \n 4.0\n \n6/16/2021 \n 9/30/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Silvestrovsk\u00e9 CITO lesopark Homolka II.\n Cache In Trash Out Event | GC8HGNB\n by zdehaj\n\n \n \n1km S\n \n 0\n \n Other\n \n 1.0\n \n 1.0\n \n- \n 12/31/2021\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Kaplicka u Bozkova\n Mystery | GC4P5PV\n by beze.cz\n\n \n \n1km E\n \n 5\n \n Micro\n \n 2.5\n \n 1.5\n \n10/21/2021 \n 9/27/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Injekce hliniku\n Mystery | GC4PAR9\n by AHA & team\n\n \n \n1km SW\n \n 13\n \n Small\n \n 2.0\n \n 2.5\n \n5/28/2021 \n 10/14/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Test hlin\u00edku\n Mystery | GC98GBP\n by bobrlinek\n\n \n \n1.1km S\n \n 14\n \n Small\n \n 3.0\n \n 4.0\n \n11/10/2021 \n 4/1/2021\n
\n \n \n \n \n \n\n \n\n Disabled\n\n \n\n\n Adventure Lab: Zanikl\u00e1 kina v Plzni\n Mystery | GC93FHQ\n by Helcalo\n\n \n \n1.1km NW\n \n 3\n \n Micro\n \n 1.5\n \n 3.5\n \n10/31/2021 \n 4/2/2021\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Unik\u00e1tn\u011b Viditeln\u00fd hlin\u00edk\n Letterbox Hybrid | GC813EH\n by Denny\u0161\u00e1k_a_Baty\n\n \n \n1.1km S\n \n 58\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n \u010cas na hlin\u00edk\n Mystery | GC86583\n by V_clav11 CZ\n\n \n \n1.1km SW\n \n 26\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n PM #55 Lesopark Homolka 🌲🌳\n Mystery | GC7JR6P\n by zdehaj\n\n \n \n1.1km SW\n \n 43\n \n Small\n \n 4.0\n \n 1.0\n \n10/24/2021 \n 2/25/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hodina ekologie\n Mystery | GC17VX8\n by dejf75\n\n \n \n1.1km SE\n \n 2\n \n Micro\n \n 2.5\n \n 1.5\n \n9/20/2021 \n 2/3/2008\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Josef Kruta - vynalezce hliniku\n Mystery | GC4R76C\n by brutalniopicka\n\n \n \n1.1km SW\n \n 16\n \n Regular\n \n 4.0\n \n 2.5\n \n10/31/2021 \n 10/30/2013\n
\n \n \n \n \n \n\n \n\n Disabled\n\n \n\n\n Milada Hor\u00e1kov\u00e1\n Traditional | GC83KNX\n by Tomas 28, Culicek 11\n\n \n \n1.1km S\n \n 35\n \n Regular\n \n 1.5\n \n 4.0\n \n10/24/2021 \n 2/16/2019\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Pijte caj / Drink tea\n Mystery | GCZ8KD\n by Datel12, adopted by krovicko&parkis\n\n \n \n1.1km S\n \n 9\n \n Small\n \n 2.0\n \n 2.5\n \n10/24/2021 \n 11/7/2006\n
\n \n \n \n \n \n\n \n\n\n \n\n\n VZPOMINKA NA BRANNE CVICENI\n Multi-Cache | GCWJ5Z\n by MichalS & Flower\n\n \n \n1.1km S\n \n 26\n \n Small\n \n 2.0\n \n 2.0\n \n10/24/2021 \n 6/12/2006\n
\n \n \n \n \n \n\n \n\n\n \n\n\n IX. \u0160KODA SPORT PARK PYRO SHOW (2021)\n Event | GC8HGKR\n by zdehaj\n\n \n \n1.1km SW\n \n 0\n \n Other\n \n 1.0\n \n 1.0\n \n- \n 12/31/2021\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Kostel sv. Martina a Prokopa\n Traditional | GC6QA4G\n by Ond\u0159\u00ed\u010dci & \u0158e\u017e\u00e1bci\n\n \n \n1.1km NE\n \n 5\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n PVS#2 Kotvacka sedmdesatka\n Multi-Cache | GC3AHDM\n by Ka\u0161tani Plzen + Geokotva\n\n \n \n1.1km SW\n \n 49\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n TKR#10 MVE Doudlevce\n Multi-Cache | GC7Z73W\n by Ka\u0161tani Plze\u0148\n\n \n \n1.1km SW\n \n 14\n \n Micro\n \n 1.5\n \n 2.5\n \n11/7/2021 \n 2/1/2019\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Cesky akciovy pivovar - Svetovar\n Traditional | GC1QR73\n by Bill.jr & respectka adopted by Ka\u0161tani Plzen\n\n \n \n1.1km E\n \n 3\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Transformatory\n Mystery | GC383XN\n by Mira83 a Hledacpepa a Martin1398 a Jaru a Tom\n\n \n \n1.2km SW\n \n 161\n \n Micro\n \n 3.5\n \n 1.5\n \n8/25/2020 \n 11/21/2011\n
\r\n
\r\n \"Loading\"\r\n Loading more results...\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\n\n\n\n \n \n \n \n\n \n \n\n \r\n\n\n \n\n \n\n\n \n \r\n\n \r\n\r\n\n \n \r\n \r\n \r\n\r\n
\r\n
\r\n ×\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \n\n\n\n\n\n" - }, - "headers": { - "Cache-Control": [ - "private, s-maxage=0" + "Content-Encoding": [ + "gzip" ], "Content-Length": [ - "293606" + "4608" ], "Content-Type": [ - "text/html; charset=utf-8" + "application/json; charset=utf-8" ], - "Date": [ - "Sun, 14 Nov 2021 01:37:12 GMT" + "CorrelationGuid": [ + "10cafdff-80e9-4344-b468-ac7fa8c92282" ], - "Request-Context": [ - "appId=cid-v1:4b073fcf-4f27-40ae-ad90-f5ba794bbe37" + "Date": [ + "Sat, 25 Mar 2023 17:30:56 GMT" ], - "Server": [ - "Microsoft-IIS/10.0" + "Set-Cookie": [ + "jwt=; expires=Sat, 25 Mar 2023 18:29:55 GMT; domain=.geocaching.com; path=/; secure; httponly" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "X-AspNet-Version": [ - "4.0.30319" - ], - "X-AspNetMvc-Version": [ - "5.2" + "Vary": [ + "Accept-Encoding" ], "X-Content-Type-Options": [ "nosniff" ], "X-Frame-Options": [ - "SAMEORIGIN", "SAMEORIGIN" ], "X-XSS-Protection": [ @@ -158,7 +78,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/play/search?lat=49.733867&lng=13.397091&origin=49.733867,+13.397091&utr=false" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?origin=49.733867%2C13.397091&asc=true&sort=datelastvisited&take=20&skip=0" } } ], diff --git a/test/cassettes/geocaching_search_pagination.json b/test/cassettes/geocaching_search_pagination.json index df8e2b8..be19a1f 100644 --- a/test/cassettes/geocaching_search_pagination.json +++ b/test/cassettes/geocaching_search_pagination.json @@ -1,7 +1,7 @@ { "http_interactions": [ { - "recorded_at": "2021-11-14T01:37:14", + "recorded_at": "2023-03-25T17:34:16", "request": { "body": { "encoding": "utf-8", @@ -18,216 +18,52 @@ "keep-alive" ], "Cookie": [ - "gspkauth=; Culture=en-US; __RequestVerificationToken=" + "gspkauth=; jwt=; Culture=en-US; __RequestVerificationToken=" ], "User-Agent": [ - "python-requests/2.26.0" + "python-requests/2.28.1" ] }, "method": "GET", - "uri": "https://www.geocaching.com/play/search?origin=49.733867%2C+13.397091" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?origin=49.733867%2C13.397091&asc=true&sort=datelastvisited&take=50&skip=0" }, "response": { "body": { - "encoding": "utf-8", - "string": "Object moved\r\n

Object moved to here.

\r\n\r\n" - }, - "headers": { - "Cache-Control": [ - "private, s-maxage=0" - ], - "Content-Length": [ - "207" - ], - "Content-Type": [ - "text/html; charset=utf-8" - ], - "Date": [ - "Sun, 14 Nov 2021 01:37:13 GMT" - ], - "Location": [ - "/play/search?lat=49.733867&lng=13.397091&origin=49.733867,+13.397091&utr=false" - ], - "Request-Context": [ - "appId=cid-v1:4b073fcf-4f27-40ae-ad90-f5ba794bbe37" - ], - "Server": [ - "Microsoft-IIS/10.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Vary": [ - "Accept-Encoding" - ], - "X-AspNet-Version": [ - "4.0.30319" - ], - "X-AspNetMvc-Version": [ - "5.2" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Frame-Options": [ - "SAMEORIGIN" - ], - "X-XSS-Protection": [ - "1" - ] - }, - "status": { - "code": 302, - "message": "Found" - }, - "url": "https://www.geocaching.com/play/search?origin=49.733867%2C+13.397091" - } - }, - { - "recorded_at": "2021-11-14T01:37:15", - "request": { - "body": { + "base64_string": "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", "encoding": "utf-8", "string": "" }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "gspkauth=; Culture=en-US; __RequestVerificationToken=" - ], - "User-Agent": [ - "python-requests/2.26.0" - ] - }, - "method": "GET", - "uri": "https://www.geocaching.com/play/search?lat=49.733867&lng=13.397091&origin=49.733867,+13.397091&utr=false" - }, - "response": { - "body": { - "encoding": "utf-8", - "string": "\n\n\n\n\n\n \n \n\n \n \n \n \n \n \n Geocaching – Advanced Search: Find, filter and sort geocaches\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n \n \r\n\n \n \n\n \r\n\n \r\n\n \n \n \n\n \n\n \n \n\n\n \n\n\n\n\n\n\n \n\n\n\n\n\n \n \n\n \n
\n
\n \n \n\n\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n ×\r\n

\r\n We couldn’t find your exact location, so we did our best using your IP address. Enter a city name for more accurate results.\r\n

\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

1,701 results for...

\r\n
\r\n
\r\n
\r\n\n\n\n\n
\n
\n \n
\n
\n Membership Type\n
\n \n \n \n
\n
\n
\n
\n
\n Cache Status\n
\n \n \n \n
\n
\n
\n
\n
\n Corrected Coordinates\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n \n \n \n \n
\n\n
\n \n \n \n \n\n \n
\n\n
\n \n \n \n \n\n\n \n\n \n
\n\n
\n \n \n \n \n\n \n
\n \n
\n
\n \n \n Attributes\n \n \n \n \n \n \n Max attributes selected (10)\n
    \n
  • \n \n Needs maintenance\n
  • \n
  • \n \n Wheelchair accessible\n
  • \n
  • \n \n Recommended for kids\n
  • \n
  • \n \n Stroller accessible\n
  • \n
  • \n \n Dogs allowed\n
  • \n
  • \n \n Scenic view nearby\n
  • \n
  • \n \n Part of a GeoTour\n
  • \n
  • \n \n Challenge cache\n
  • \n
  • \n \n Available 24/7\n
  • \n
  • \n \n Takes less than one hour\n
  • \n
  • \n \n Park and grab\n
  • \n
  • \n \n Parking nearby\n
  • \n
  • \n \n Access/parking fee\n
  • \n
  • \n \n In private yard (with permission)\n
  • \n
  • \n \n Bicycles allowed\n
  • \n
  • \n \n <1 km hike\n
  • \n
  • \n \n 1 km–10 km hike\n
  • \n
  • \n \n >10 km hike\n
  • \n
  • \n \n Significant hike\n
  • \n
  • \n \n Geocaching.com solution checker enabled\n
  • \n
  • \n \n Bonus cache\n
  • \n
  • \n \n Field puzzle\n
  • \n
  • \n \n Part of a power trail\n
  • \n
  • \n \n Teamwork cache\n
  • \n
  • \n \n Night cache\n
  • \n
  • \n \n Recommended at night\n
  • \n
  • \n \n Flashlight required\n
  • \n
  • \n \n UV light required\n
  • \n
  • \n \n Stealth required\n
  • \n
  • \n \n Special tool required\n
  • \n
  • \n \n Recommended for tourists\n
  • \n
  • \n \n Picnic tables nearby\n
  • \n
  • \n \n Public restrooms nearby\n
  • \n
  • \n \n Food nearby\n
  • \n
  • \n \n Drinking water nearby\n
  • \n
  • \n \n Public transportation nearby\n
  • \n
  • \n \n Motorcycles allowed\n
  • \n
  • \n \n Quads allowed\n
  • \n
  • \n \n Off-road vehicles allowed\n
  • \n
  • \n \n Trucks/RVs allowed\n
  • \n
  • \n \n Fuel nearby\n
  • \n
  • \n \n Horses allowed\n
  • \n
  • \n \n Camping nearby\n
  • \n
  • \n \n Campfires allowed\n
  • \n
  • \n \n Telephone nearby\n
  • \n
  • \n \n Wireless receiver required\n
  • \n
  • \n \n Seasonal access only\n
  • \n
  • \n \n Available in winter\n
  • \n
  • \n \n Snowmobiles allowed\n
  • \n
  • \n \n May require snowshoes\n
  • \n
  • \n \n May require cross country skis\n
  • \n
  • \n \n May require wading\n
  • \n
  • \n \n May require swimming\n
  • \n
  • \n \n Boat required\n
  • \n
  • \n \n Scuba gear required\n
  • \n
  • \n \n Tree climbing required\n
  • \n
  • \n \n Climbing gear required\n
  • \n
  • \n \n Difficult climb\n
  • \n
  • \n \n Dangerous area\n
  • \n
  • \n \n Cliffs/falling rocks nearby\n
  • \n
  • \n \n Abandoned mine nearby\n
  • \n
  • \n \n Abandoned structure nearby\n
  • \n
  • \n \n Dangerous animals nearby\n
  • \n
  • \n \n Livestock nearby\n
  • \n
  • \n \n Ticks nearby\n
  • \n
  • \n \n Poisonous plants nearby\n
  • \n
  • \n \n Thorns nearby\n
  • \n
  • \n \n Hunting area\n
  • \n
  • \n \n Partnership cache\n
  • \n
  • \n \n Part of Lost and Found tour\n
  • \n
\n
\n \n
\n \n
\n
\n \n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n\n\n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Geocache Name\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\nDistance \r\n Favorites\r\n \r\n Size\r\n \r\n Difficulty\r\n \r\n Terrain\r\n \r\n Last Found\r\n \r\n Placed On\r\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n zdehajova 🚌🚏\n Traditional | GC7RR74\n by zdehaj\n\n \n \n0.83km SW\n \n 223\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Vodni plochy Lobezska louka\n Traditional | GC5EDMF\n by Tomasook a Mira83\n\n \n \n0.88km NE\n \n 113\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Tragedie BONUS\n Mystery | GC41FJC\n by brutalniopicka\n\n \n \n0.12km SW\n \n 17\n \n Small\n \n 5.0\n \n 1.5\n \n2/11/2021 \n 11/18/2012\n
\n \n \n \n \n \n\n \n\n\n \n\n\n filmova mista - Mach a Sebestova k tabuli!\n Mystery | GC5VJ0P\n by lukyhonzik\n\n \n \n0.33km NW\n \n 33\n \n Micro\n \n 3.0\n \n 2.0\n \n10/27/2021 \n 6/23/2015\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Adventure Lab: Pam\u00e1tn\u00edky na Slovanech\n Mystery | GC8Z14D\n by Helcalo\n\n \n \n0.34km E\n \n 21\n \n Micro\n \n 2.0\n \n 2.5\n \n11/7/2021 \n 8/27/2020\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hodina telesn\u00e9 v\u00fdchovy\n Mystery | GC167Y7\n by dejf75\n\n \n \n0.48km N\n \n 4\n \n Micro\n \n 2.5\n \n 1.5\n \n10/24/2021 \n 10/1/2007\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Vrana nebo cap\n Mystery | GC16BW1\n by vatici\n\n \n \n0.5km SE\n \n 5\n \n Small\n \n 3.0\n \n 1.5\n \n7/18/2021 \n 10/3/2007\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Stredni prumyslova skola elektrotechnicka v Plzni\n Mystery | GC50AQ6\n by kynclt\n\n \n \n0.52km E\n \n 2\n \n Micro\n \n 2.0\n \n 1.5\n \n4/1/2021 \n 3/25/2014\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n My\u0161ka 🐭\n Traditional | GC86RK3\n by bobrlinek\n\n \n \n0.54km NE\n \n 56\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n JN69RR23PQ\n Mystery | GC3TF1K\n by cbfousac\n\n \n \n0.59km SE\n \n 35\n \n Micro\n \n 3.5\n \n 1.0\n \n9/15/2021 \n 1/9/2013\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Slunce, duha a jednorozci\n Letterbox Hybrid | GC868VY\n by Tomasook\n\n \n \n0.79km NW\n \n 24\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Pet \u017eulov\u00fdch pomn\u00edcku\n Mystery | GC1M7GP\n by ivrys\n\n \n \n0.81km NW\n \n 3\n \n Small\n \n 2.0\n \n 1.5\n \n10/24/2021 \n 6/16/2009\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hospic svateho Lazara\n Traditional | GC7TT7T\n by tomiczech\n\n \n \n0.83km N\n \n 66\n \n Regular\n \n 2.5\n \n 1.0\n \n11/7/2021 \n 7/18/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hlinik na dovolene\n Mystery | GC7GNTE\n by bobrlinek\n\n \n \n0.85km SW\n \n 21\n \n Micro\n \n 5.0\n \n 1.0\n \n10/24/2021 \n 1/3/2018\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Kam a\u017e sah\u00e1 Plze\u0148?\n Mystery | GC93HA6\n by Denny\u0161\u00e1k_a_Baty\n\n \n \n0.86km W\n \n 23\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Dezinfekce hliniku\n Mystery | GC44001\n by RouLovci\n\n \n \n0.9km SW\n \n 34\n \n Regular\n \n 4.5\n \n 1.5\n \n11/3/2021 \n 1/19/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Miroslav Zikmund\n Mystery | GC77PV1\n by ho.be\n\n \n \n0.9km N\n \n 30\n \n Regular\n \n 3.5\n \n 1.0\n \n10/24/2021 \n 6/23/2017\n
\n \n \n \n \n \n\n \n\n\n \n\n\n 3*2=7 hliniku\n Mystery | GC5MGHV\n by 3*2=7 & nigisek\n\n \n \n0.91km SW\n \n 9\n \n Small\n \n 5.0\n \n 2.0\n \n4/10/2021 \n 1/23/2015\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hodina matematiky\n Mystery | GC161KR\n by dejf75\n\n \n \n0.94km NW\n \n 13\n \n Micro\n \n 3.5\n \n 1.5\n \n10/24/2021 \n 9/18/2007\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Aplikace hlin\u00edku\n Mystery | GC84801\n by V_clav11 CZ\n\n \n \n0.95km SW\n \n 49\n \n Micro\n \n 5.0\n \n 4.0\n \n9/27/2021 \n 2/28/2019\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Infekce hliniku\n Mystery | GC3P972\n by Lindbergh007\n\n \n \n0.96km SW\n \n 118\n \n Large\n \n 5.0\n \n 2.5\n \n10/16/2021 \n 7/29/2012\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Stare Doudlevce\n Multi-Cache | GC18WF8\n by vudy\n\n \n \n0.97km SW\n \n 3\n \n Micro\n \n 2.0\n \n 1.5\n \n10/24/2021 \n 1/25/2008\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Gymik\n Mystery | GC1GW54\n by Jesteri\n\n \n \n0.97km NW\n \n 4\n \n Regular\n \n 2.0\n \n 2.0\n \n11/4/2021 \n 10/5/2008\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hlinik se odstehoval do Humpolce\n Mystery | GC73A4Z\n by M13JP\n\n \n \n0.97km SW\n \n 43\n \n Small\n \n 4.0\n \n 2.0\n \n7/7/2021 \n 4/4/2017\n
\n \n \n \n \n \n\n \n\n\n \n\n\n PM #58 Papirenska\n Mystery | GC7JRR5\n by RicTEP\n\n \n \n0.99km W\n \n 9\n \n Small\n \n 4.0\n \n 2.5\n \n8/12/2021 \n 2/25/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Plzenske ctvrte - Slovany\n Multi-Cache | GC7MJ88\n by Whiny\n\n \n \n0.99km NW\n \n 5\n \n Micro\n \n 2.0\n \n 2.0\n \n5/16/2021 \n 4/5/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Bezdr\u00e1tov\u00fd hlin\u00edk\n Mystery | GC7HBH2\n by zdehaj\n\n \n \n0.99km SW\n \n 145\n \n Small\n \n 4.5\n \n 1.0\n \n11/10/2021 \n 12/7/2019\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Extraligov\u00e1 🏒 \n Mystery | GC6XFJ5\n by zdehaj\n\n \n \n1km S\n \n 24\n \n Small\n \n 2.5\n \n 1.5\n \n8/3/2021 \n 11/27/2016\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hlin\u00edk ve hv\u011bzd\u00e1ch\n Mystery | GC7JZ1E\n by V_clav11 CZ\n\n \n \n1km SW\n \n 56\n \n Micro\n \n 4.0\n \n 2.5\n \n6/4/2021 \n 12/21/2012\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Plzensky zavinac u hliniku\n Mystery | GC8QTPA\n by Tomasook a Denny\u0161\u00e1k & Baty\n\n \n \n1km SW\n \n 29\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Inspekce hliniku\n Mystery | GC4NXMZ\n by AHA & team\n\n \n \n1km SW\n \n 53\n \n Small\n \n 4.0\n \n 4.0\n \n6/16/2021 \n 9/30/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Silvestrovsk\u00e9 CITO lesopark Homolka II.\n Cache In Trash Out Event | GC8HGNB\n by zdehaj\n\n \n \n1km S\n \n 0\n \n Other\n \n 1.0\n \n 1.0\n \n- \n 12/31/2021\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Kaplicka u Bozkova\n Mystery | GC4P5PV\n by beze.cz\n\n \n \n1km E\n \n 5\n \n Micro\n \n 2.5\n \n 1.5\n \n10/21/2021 \n 9/27/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Injekce hliniku\n Mystery | GC4PAR9\n by AHA & team\n\n \n \n1km SW\n \n 13\n \n Small\n \n 2.0\n \n 2.5\n \n5/28/2021 \n 10/14/2013\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Test hlin\u00edku\n Mystery | GC98GBP\n by bobrlinek\n\n \n \n1.1km S\n \n 14\n \n Small\n \n 3.0\n \n 4.0\n \n11/10/2021 \n 4/1/2021\n
\n \n \n \n \n \n\n \n\n Disabled\n\n \n\n\n Adventure Lab: Zanikl\u00e1 kina v Plzni\n Mystery | GC93FHQ\n by Helcalo\n\n \n \n1.1km NW\n \n 3\n \n Micro\n \n 1.5\n \n 3.5\n \n10/31/2021 \n 4/2/2021\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Unik\u00e1tn\u011b Viditeln\u00fd hlin\u00edk\n Letterbox Hybrid | GC813EH\n by Denny\u0161\u00e1k_a_Baty\n\n \n \n1.1km S\n \n 58\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n \u010cas na hlin\u00edk\n Mystery | GC86583\n by V_clav11 CZ\n\n \n \n1.1km SW\n \n 26\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n PM #55 Lesopark Homolka 🌲🌳\n Mystery | GC7JR6P\n by zdehaj\n\n \n \n1.1km SW\n \n 43\n \n Small\n \n 4.0\n \n 1.0\n \n10/24/2021 \n 2/25/2018\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Hodina ekologie\n Mystery | GC17VX8\n by dejf75\n\n \n \n1.1km SE\n \n 2\n \n Micro\n \n 2.5\n \n 1.5\n \n9/20/2021 \n 2/3/2008\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Josef Kruta - vynalezce hliniku\n Mystery | GC4R76C\n by brutalniopicka\n\n \n \n1.1km SW\n \n 16\n \n Regular\n \n 4.0\n \n 2.5\n \n10/31/2021 \n 10/30/2013\n
\n \n \n \n \n \n\n \n\n Disabled\n\n \n\n\n Milada Hor\u00e1kov\u00e1\n Traditional | GC83KNX\n by Tomas 28, Culicek 11\n\n \n \n1.1km S\n \n 35\n \n Regular\n \n 1.5\n \n 4.0\n \n10/24/2021 \n 2/16/2019\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Pijte caj / Drink tea\n Mystery | GCZ8KD\n by Datel12, adopted by krovicko&parkis\n\n \n \n1.1km S\n \n 9\n \n Small\n \n 2.0\n \n 2.5\n \n10/24/2021 \n 11/7/2006\n
\n \n \n \n \n \n\n \n\n\n \n\n\n VZPOMINKA NA BRANNE CVICENI\n Multi-Cache | GCWJ5Z\n by MichalS & Flower\n\n \n \n1.1km S\n \n 26\n \n Small\n \n 2.0\n \n 2.0\n \n10/24/2021 \n 6/12/2006\n
\n \n \n \n \n \n\n \n\n\n \n\n\n IX. \u0160KODA SPORT PARK PYRO SHOW (2021)\n Event | GC8HGKR\n by zdehaj\n\n \n \n1.1km SW\n \n 0\n \n Other\n \n 1.0\n \n 1.0\n \n- \n 12/31/2021\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Kostel sv. Martina a Prokopa\n Traditional | GC6QA4G\n by Ond\u0159\u00ed\u010dci & \u0158e\u017e\u00e1bci\n\n \n \n1.1km NE\n \n 5\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n PVS#2 Kotvacka sedmdesatka\n Multi-Cache | GC3AHDM\n by Ka\u0161tani Plzen + Geokotva\n\n \n \n1.1km SW\n \n 49\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n TKR#10 MVE Doudlevce\n Multi-Cache | GC7Z73W\n by Ka\u0161tani Plze\u0148\n\n \n \n1.1km SW\n \n 14\n \n Micro\n \n 1.5\n \n 2.5\n \n11/7/2021 \n 2/1/2019\n
\n Upgrade Now\n \n \n \n \n \n\n \n\n\n Premium\n \n\n\n Cesky akciovy pivovar - Svetovar\n Traditional | GC1QR73\n by Bill.jr & respectka adopted by Ka\u0161tani Plzen\n\n \n \n1.1km E\n \n 3\n \n

This is a Premium-Only geocache. Upgrade to Geocaching Premium to find it.

\n
\n \n \n \n \n \n\n \n\n\n \n\n\n Transformatory\n Mystery | GC383XN\n by Mira83 a Hledacpepa a Martin1398 a Jaru a Tom\n\n \n \n1.2km SW\n \n 161\n \n Micro\n \n 3.5\n \n 1.5\n \n8/25/2020 \n 11/21/2011\n
\r\n
\r\n \"Loading\"\r\n Loading more results...\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\n\n\n\n \n \n \n \n\n \n \n\n \r\n\n\n \n\n \n\n\n \n \r\n\n \r\n\r\n\n \n \r\n \r\n \r\n\r\n
\r\n
\r\n ×\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \n\n\n\n\n\n" - }, "headers": { "Cache-Control": [ - "private, s-maxage=0" - ], - "Content-Length": [ - "293606" - ], - "Content-Type": [ - "text/html; charset=utf-8" - ], - "Date": [ - "Sun, 14 Nov 2021 01:37:14 GMT" - ], - "Request-Context": [ - "appId=cid-v1:4b073fcf-4f27-40ae-ad90-f5ba794bbe37" - ], - "Server": [ - "Microsoft-IIS/10.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "X-AspNet-Version": [ - "4.0.30319" - ], - "X-AspNetMvc-Version": [ - "5.2" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Frame-Options": [ - "SAMEORIGIN", - "SAMEORIGIN" - ], - "X-XSS-Protection": [ - "1" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://www.geocaching.com/play/search?lat=49.733867&lng=13.397091&origin=49.733867,+13.397091&utr=false" - } - }, - { - "recorded_at": "2021-11-14T01:37:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" + "max-age=60, private" ], "Connection": [ - "keep-alive" - ], - "Cookie": [ - "gspkauth=; Culture=en-US; __RequestVerificationToken=" - ], - "User-Agent": [ - "python-requests/2.26.0" - ] - }, - "method": "GET", - "uri": "https://www.geocaching.com/play/search/more-results?origin=49.733867%2C+13.397091&startIndex=50&ssvu=2&selectAll=false" - }, - "response": { - "body": { - "base64_string": "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", - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Cache-Control": [ - "private, s-maxage=0" + "Keep-Alive" ], "Content-Encoding": [ "gzip" ], + "Content-Length": [ + "10155" + ], "Content-Type": [ "application/json; charset=utf-8" ], - "Date": [ - "Sun, 14 Nov 2021 01:37:15 GMT" + "CorrelationGuid": [ + "fe921f5d-0d07-41c4-84ba-1343cbaaab67" ], - "Request-Context": [ - "appId=cid-v1:4b073fcf-4f27-40ae-ad90-f5ba794bbe37" + "Date": [ + "Sat, 25 Mar 2023 17:34:16 GMT" ], - "Server": [ - "Microsoft-IIS/10.0" + "Set-Cookie": [ + "jwt=; expires=Sat, 25 Mar 2023 18:33:15 GMT; domain=.geocaching.com; path=/; secure; httponly" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "Transfer-Encoding": [ - "chunked" - ], "Vary": [ "Accept-Encoding" ], - "X-AspNet-Version": [ - "4.0.30319" - ], - "X-AspNetMvc-Version": [ - "5.2" - ], "X-Content-Type-Options": [ "nosniff" ], @@ -242,11 +78,11 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/play/search/more-results?origin=49.733867%2C+13.397091&startIndex=50&ssvu=2&selectAll=false" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?origin=49.733867%2C13.397091&asc=true&sort=datelastvisited&take=50&skip=0" } }, { - "recorded_at": "2021-11-14T01:37:16", + "recorded_at": "2023-03-25T17:34:17", "request": { "body": { "encoding": "utf-8", @@ -263,55 +99,52 @@ "keep-alive" ], "Cookie": [ - "gspkauth=; Culture=en-US; __RequestVerificationToken=" + "gspkauth=; jwt=; Culture=en-US; __RequestVerificationToken=" ], "User-Agent": [ - "python-requests/2.26.0" + "python-requests/2.28.1" ] }, "method": "GET", - "uri": "https://www.geocaching.com/play/search/more-results?origin=49.733867%2C+13.397091&startIndex=100&ssvu=2&selectAll=false" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?origin=49.733867%2C13.397091&asc=true&sort=datelastvisited&take=50&skip=50" }, "response": { "body": { - "base64_string": "H4sIAAAAAAAAA6pW8ijJzQkuKcrMS1eyUorJA0EFIIgpNTAwTi4pUlBISSxJ1C3KL88rzU1KLbKNUTI0MIhRAqoBS2SmAEXcnc2Dwt0igaJgsbzE3FSgaHB+dn5OflleokJZqsLRBSVFpXnJ+WWH9yZnKBQnpqQCKQ0DU0tNoC6wZakQi5EsT1FIzkksLgYalZuflJmTqluckV+ukJyYnJGqW1CUmZtYVKmbklqSmJlTHKOEbgbCE4kKGUWpaUBT9NNT88G69dEcnFqWmleim5xYkpqeX1QJVAkSRZXMSUxKzQHKhGWmliu4Q81RcMFnOyIYiwsS8+B+gbi/pLIgFV0bKgnVWpaORaduZm460H3lmSklGUAJYyMgJyM1Mz2jBMpDNxidghheWpyqUJGTmZdtBQuhgpzESv3EggL90kzdzOT8vGL9YmBIl6QW6yMsL9YDOkoZJKtrCrRXH90u9BgwTtYHaoCpQleHUAMMJIQiLMrQRcFM9ACGBxMoEcLCgdiUiO4QEqxDS4c+qSUlqUVJ+RUKHpVJRZkpCjUKsDRHliXA7JdaBDM8qVIhLB4oU2ZoqOAcpaMQFBwCROgGo4c1LJwT0a2FipekoGsjkBGBCUPXDJZLkvNzSnPzgCpcMotLEvOSkRK3oZ5Fdi66HxUU/MLR7UFyAk4HgCwFpTpUS90Sy/JByTQgPzOvBD31Q0gjY2N0Y9HtgxJY7TRGt1PJOT8PGOXAaAnOrELPykhEUGp6aU5iEboV6PYjAaz2G6LbDwzotLTM5NKckkp0yxGkkZ4putnoFqNLErI4RikktagI6HF0WxGkISFb0XVgt9kE3WYlF2AJ7ZNYXBKWWQyM7BSkJGaob6ZvZGBkiG4wus3ozkK3Fd2/IFsDchKTU0FWo/sYQVroWwCtN7RANx/dcvQwAUoWIUtCXYS91gW5DLXWNTQNN4UnTGit65Gfkgks6JJTi7NTM/IVshKrKrNBdRm6G9A9T6iORa/lUM3BWseiOI/SOhbddgQJcQF6mYxex6JrA3OhWimtY7FDiOGU1rG6Fuh1LDqGpiT0OhYFwdSg17FoAF0UwkIPYHgwIdex2NMdurWEDEevURHx7ltZDKxRK8EVKSRhkWo21oo0JTUrzdwU3Sz0MISFH3rdiZ7F0etO9AyGXneil2+E6k4YC73uRC9lwAjdAaTWnQhogm4oum1QAt1GUmtOVOibmVyUj24Buu1IAN129OKcUL2JRKDXm+gWo0sSshi93kQ3A8JCrzfRbUXXgcNmUupNA30jE/SKE8xEtxrdXejWonsYveJENwXKsNQ3NALab2CObgG67UgAJolec4KchL3mBBXdaP1VJ0sLJ7SaM7ggNSspRyFRwaO0qOzw2rzUbPRqEwjQvU6o2kSvuFDNQa82IV1TZLdRWm2i244gIS5AL3jRq010bUiBQGq1CeWhG4xOQQyntNoE5wL0ahOFgiYj9GoTBcHUoFebaABdFMJCD2B4MKF0TdETXTa6nejOhydCdJPR60zj1LDMopLSxBxI5xOcqkg1G2udGRLs6hgU4oFuGHoIwkIPvdJEz93olSZ69kKvNNELN0KVJoyFXmmiFzBghO4AUitNBDQ0QeoOoNuHHk7odhKqNtEzKBLhX5IBjC10C9BtR0B029ELc0LVJhJhqGeAbja6xUiAkMXo1Sa6GTCakK3oOnDYTKjaRO1ugmpO9GoTyEG3Gt1d6Naiexi92kQ3BcoA9jZB1bYherWJbju6JHq1CXMS9moTlARRq00jUxPTMLRqMyCnKjWvOLtSIaAosSqlKD9LQV8hAFgIAROqQmhRYWlqTg56PQok0MOCUD2KXpOhmoO1HkVxLKX1KLrtCBLiAvTCGL0eRdcG5kK1UlqPYocQwymtR3VB9qLXoygUNF2h16MoCKYGvR5FA+iiEBZ6AMODCbkeJSYVojuCkFXoFSsiFYQUJaZklmTm50ErV0hSI9V8rJVrerJuAcgvenmpJegmooctLFzRa1j0ggC9hkXPeOg1LHo5SKiGhbH80K1BL4qABLr9pFawCGhijl7BotuHbiepFSy6SRCWT2JROroF6LajS6Lbjl7sg0MZvYJFtxq9qgMy0C1GlyRkMXoFi24GmIneL0W3FV0HDptJrGCN0StYMBPdanR3oVuL7mH0ChbdFCgDaDm4gkUPbnTb0SXRK1iYk7BXsKAQQRvRtQiKCECrYIGzs4lVyakKVcDsmViWml0KLNrcSxOLUhTSivJzFYDNPaBEagYwkwJrNvSqFkighwqhqha9skM1B72qhYz0Ijub0qoW3XYECXEBevGMXtWiawNzoVoprWqxQ4jhlFa1uobG5uiVLTqGpjH0yhYFwdSgV7ZoAF0UwkIPYnhAoXRaSUqR6M4hZCl6tYtIEa6JRSUZkLQCHgYGpzpSjcda6zp7Bjmim4QeuLCARa9t0UsF9NoWPe+h17bohSKh2hbGQu/PohdMYITuAFKrWwQEFVeE7IOQ6HaSWt2iQvT+LJCBbju6JLrt6JUAenWLbgyMRq9u0S1GlyRkMXp1i24GhEXIVnQdOGwmsbo1RK9uwUx0q9HdhW4tuofRq1t0U6AMoOUg+w3QJ1DRbUeXRK9uYU7CXt2Ckj1adWvoEQUq7ZGrW99UYNM+MTnv8FqFqsQMYEM/UUEfIgZq8Cu4A4u5VGDsQaxCz2noWZ1QNYvuLyADYg72ahbZuZRWs+i2I0iIC9CLY/RqFl0bmAvVSmk1ix1CDKe0mkXv0aJDeMpCr2RREEwNeiWLBtBFISz0AIYHE3IlS1w6RHcGIcvQK1fcfVpIYiPVfKy1q1diUW5pDvp0MHrIAhlQBeg1LHpBgF7Domc79BoWvRwkVMPCWMHo1qAXRUAC3X5SK1gEtEQ3FN02KIFuI6nVKypEr16BDHTb0SXRbUcv9NGrV3RjYLQRekWHbjG6JCGL0atXdDPATPTeLLqt6Dpw2EyoekWdZTU0Ra9ewUx0q9HdhW4tuofRq1d0U6AMYG8WOGKMPsuKbjt2SfTqFeQk7NUrKKOhVq8Wfm5m6MPFR/cWlyiARuuOdijoKnjnl6QW5ZcpoNenCLvQMzah+hTdI1BzsNanKO6jtD5Ftx1BQlyAXgKj16fo2sBcqFZK61PsEGI4tetTdAhPSuj1KQqCqUGvT9EAuiiEhR7A8GBCrk9xJDx0ewmZTnwFCkldpJqPXoFCZlyLMnOAqb/E3BjdPPTAhHkIvQpFz+zoVSh6TkOvQtHLOkJVKIwV7IpuD3p5AyTQHUBqHYqARuiGotsGJdBtJLUORYW+mclF+egWoNuOBNBtRy/ZCdWhSIQRem2GbjG6JCGL0etQdDPATEK2ouvAYTOhOhS1i2qGXoWCmeg2ozsL3VZ0/6JXoeimQBnG+sbgGV/0Fgu67eiS6FUozEnYq1DQ+B9qFWoW4BflhVaFupWWlBYl5iYqhAObbpnp+eiVJ5BA9zihyhO9+kI1B2vlieIySitPdNsRJMQF6KUveuWJrg3MhWqltPLEDiGGU1p56hpamFqg15/oGJqO0OtPFARTg15/ogF0UQgLPYzhIYVcf6KnOnQb0R0P5OA0Fy3NQU0E15qQZEWq2VhrzbB4oEyZoaGCc5SOglNOagV6BxQ9KOHBiF57oudz9NoTPauh157opRyW2tMSvfYE8dCHeNGLGjBCdwCptScCGhoZoxuLbh+KJHr9iW4nev2JbhKMDs5NBE7Po1uAbjsCotuOXqwTqj+RCGP0mgzdYnRJQhaj15/oZoCZ6H1QdFvRdeCwmYT60xLSBUSvP9FtRvcvuq3o/kWvP9F9DKcs9I1BI7yGZugWoNuOngbQ60+ok7DXn6CiFLX+NPe29IanS2j9GeCroGxqpOAeEKyQUpRYnpkHqgnQHYDudUI1KHodhmoO1hoUxW2U1qDotiNIiAvQS2H0GhRdG5gL1UppDYodQgyntAbVRa8+0REsGaFXnygIpga9+kQD6KIQFnoAw4MJufrEkujQ7SRkMnoFioh038piYHe2ElyBQlIVqWZjrUDdMnNyUvXyDE3Bio3MEnMLrIGDuSC7MpMTgZUFui3ooQNVgF6domd79OoUPd+hV6fohR6h6hTG8kO3Br3gARLo9pNamyKgIfqALrp16FaSWpmimwRhoXdGgQx029El0W1HL+PRK1N0Y2A0emWKbjG6JCGL0StTdDMgLBP0YWR0W9F1oNtMRmWKPpwLYaFbjO4qdEvRvYtel6KbAmUAh3PNQXUp+mwpuu3okuh1KcxJ2OtSS/S61NnS2czCG60udUwBVU2lRakKPolJVgrBh9em5GQeXVhyZLaCE7AeA460FecnZ1QqJCoAi/XiksxsYPKB2Iue59DzPKG6Ft2TQAbEHKx1LYrbKa1r0W1HkBAXoBfY6HUtujakQCC1roXy0A1GpyCGU7uuRYfwZIZe16IgmBr0uhYNoIsiJxX0AEara8lIlOhuImQzcXUxJNWRajbWurgoNaUyN78UWNmgG4ceTFAF6JUuevmAXumiZ0D0She9cCRU6cJYweh9WPQiCpFu0GtddEvRa110U0C0IVJlgG4dejChW0mo1kXPwUgEeq0LZKDbji6Jbjt6bYBe66IbA6PRB2PRLUaXJGQxeq2LbgaEhT55i24rug4cNhOqdVGHgA2N0OtdMBPdanR3oVuL7mH0ehfdFCjDTB/UhTUyRDcf3XIkAJNEr3ZBLsJa7QKTL3q1a2noHRSCVu16euqBjTEyUzYEtQTMrRE8I0NTFJ4FCs8ShWeEzDMwROEZoPCMrNEtRJJEMdTIGMUKVEPNrIGlb0B+WX5KHrA0BloCqsqQAwcpgNCLI0LtAfTQh5qDvT2AHKiUtgfQbUeQEBegVxro7QF0bWAuVCul7QHsEGI4pe0B9NFrdOvAXIhV6E0CVAhTg94kQAPoohAWehjDQwq5SUAowyDz0DMMMg89wyDz0DMMuoVIkugZBtkKQhkG4l/09gQKgihBDxL0tgrqwDskR5BqNta2im9iUUllUWZpMbpx6JEPi3j0tgpMHL2tgkhP6IUDpW0VCBt9vB29XAcjdAeQ2lZBQPTRdnTb0G0ktamCbhKEhT7aDmSg244uiW47egWK3lRBNwZGozca0C1GlyRkMXpTBd0MCIuQreg6cNhMWlMF2ElHb6kAOeg2ozsL3VZ0/6K3VNBNgTIMQXPV6NPVQAa69Vgl0dsqIDdhb6uA3IbaVjHxC3EGTWIjt1W8EwtyMpOzExXKgL2vquz8MqDDIeaiZyr0XE2oykf3BJABMQdrlY/iNkqrfHTbESTEBehlL3qVj64NzIVqpbTKR4fIIUxplQ8udtDrexQKmozQ63sUBFODXt+jAXRR5KSCHsBo9T2WRIduJyGT0atNpC4+sJTL1HUGpwdQ1QlJWaSaj7XqTEqtStVLrkI3DD0UYSGIXnGi53D0ihM9i6FXnOgFHKGKE8ZyRbcGvYwBEuj2k1pvIqCFCbqp6NZBCXQrSa04USF6xQlkoNuOLoluO3p5jl5xohsDow3RqzB0i9ElCVmMXnGimwFmoo8soNuKrgOHzSRUnCb64KoLveJEtxndv+i2ovsXveJE9zGcAk6Tg4YYDJFaZiAa3Xaskuj1JshJ2OtNUNmNWm9aOIW5RaLVm8El+QWVCt4eTqAOQE5V6tEOIMMvtTi3qCQ1J+/wXpAUek0KxOiBQagmRa/LUM3BWpOiuJbSmhTddgQJcQF6cYxek6JrA3OhWimtSbFDiOHUrknRITxhodekKAimBr0mRQPoohAWegDDgwm5JiUqGaK7gpBdxNetkLRGqvlY69aQoswcYF4oMUefuEYPWniwolev6AUBevWKnu/Qq1f0YpBQ9QpjofdL0csiMEJ3AKn1KwKi90vRbUO3kdTqFd0kCAu9egUy0G1Hl0S3Hb3UR69e0Y2B0cbo1Su6xeiShCxGr17RzQAz0atXdFvRdeCwmVD1itovBc0co1ev6Daj+xfdVnT/olev6D6GU9CZa/RuKbrtWCXRq1eQk7BXr6AUiFq9GnpZRkShV6+p2alFoP5BRj5wCjAvOVMhVCEgtSRTIaMstQoYZhA70PMXegYnVLGiewjIgJiDtWJFcSelFSu67QgS4gL0shi9YkXXBuZCtVJasWKHEMMprVjRZ6nRITxJoVesKAimBr1iRQPoohAWegDDgwmlYsWfANHtJ2QLepWKfUYaksJINRtrdero4QhWZmSWmFtgrVCSmpiLbjB6yMJCFb1eRS8B0OtV9GyHXq+il3+E6lUYC71aRS+DEIkFvVpFtxO9WkU3BUSboE9No1uHbiWp9Sq6SRAWer0KZKDbji6Jbjt6cY9er6IbA6ON0Ws4dIvRJQlZjF6vopsBZqKP96Lbiq4Dh80k1KuW+qbo1SqYiW4xuqvQLUX3Lnq1im4KlAGs1sHdVgMLdBvQrUcCMEn0ehXkJuz1KihA0OpVE28nF7R61TkjP6U4O1UBxAWWazrgTgMwtiBmo2cs9IxNqD5F9wiQATEHe32K7D5K61N02xEkxAXoBTF6fYquDcyFaqW0PsUOIYZTWp/qguxFr09RKGhSQq9PURBMDXp9igbQRSEs9ACGBxNyfYoj4aHbS8h09HoUEfEhRYkpmSWZ+XmJOZC6FJy6SDUfvS6FzJhmJmck5gSDlULrU7ec/HKgGnTj0YMHqgC9RkXP++g1KnrGQ69R0Us+QjUqjIVeo6KXPojkgl6jotuJXqOimwKiDZGqF3Tr0EMJ3UpCNSp6xkUigLFVlI9uAbrtSADddvSSnlCNikSg123oFqNLErIYvUZFNwPCQh9+RrcVXQcOmwnVqKg9VUP0KVQIC91qdHehW4vuYfQ6Fd0UKAPYTzUDVanm6Bag244EYJLoVSrISdirVFCqh4gXFKXmZpbmolSvxo4ezh5o1WtAWLCyoUJIYlZqbnFJWaZCWGpOdmpGvkIYKOmi17JAjB4ihGpZ9HoO3X+gmhZmVGlBOrBITFWAVJ4lRYnJ2Zl5oCoLe33rmFIGKkNSFIJTE4uSM1DVJSaDSlagqtCC4tScHAUfYIUFdAq22jnA118BMkAIVavhDJrr0wRVj5AaLqOkpKDYSl+/ILEyF6izWA/aJgC6Ti85P1ffHupy25KiUngaCIX6xi+/HBqR6IUqmIIFApbmBkp8oXuf1OYGejQgSIgL0Osr9OYGujYwF6qV0uYGdggxnNLmhq6FbkpmcWJSDqg4QG93oGJoNKG3O1AQTA16uwMdAPno4Qp0O7DWKymFR0UAJI+iG4nuOpBR6JaAmegWwIMfuRmDP4OjW03IEvTWDPZRAUjCJdVsrC0Z78SjC4FNhUz01hd68wVKQBWg5zR4UYrefIFHE3qJht58QatZCTVfoEz0gXb0oh6M0B1AavsFAQ1NjdCNRbcPRRJkZ34OKDSB5oNshLsgV7cUXBai24MgICYUQKRDMjKLFYAoUQGapnX983IqFWBlmR5UNbyoB/KMzNGKebAY9rIOLOXgnp+fnpPqCGwuV5ZkJhcHlxQBtRXrOUOVoRuAqAPwancEK9KDFP2QWgLdIFjBitccJAN8QMr1AnLzwbUKuDKBmklpfQIUg0YrNIUrlOTDSnqgZljog0TTMvNSFDJL9KDqoRGFngrQkwgSgEmitz5A6QZ76wOUUdDmoX2jIsLQWxz56fnoDQsgATUZPRsSaligOxue0tDrU9A8M7Jr0NMYqfUpuu0IEuIC9BITvT5F1wbmQrVSWp9ihxDDKa1P0YfD0SE84aBXoygIpga9GkUD6KIQFnoAw4MJpd4DJTN0WwiZRVz1BklHpJqNtXrzSSzLzEuMQDcMPcxg4YVer6HnYPR6DT1DUVqvwViu6NaglyFAAt1+Uqs1BDQyQzcV3ToogW4lqd1yVIg+0A1koNuOLoluO3pnEb1bjm4MjEYf6Ea3GF2SkMXo3XJ0MyAs9GlrdFvRdeCwmVC3HH0CGb1XDmKj24zuLHRb0f2L3itHNwXKMNY3tESfQAYy0G3HKoleL4KchL1eNEevF50jo8DFN0q1CGzfHu1ArxiBBLpvCVWM6FUTqjlYK0Zk51BaL6JbjiAhDkAvatHrRXRtYC5UK6X1InYIMZzSehF9WBsdwhMOer2IgmBq0OtFNIAuCmGhBzA8mFDqRUg6Q7eHkGnoNSPuYWxwYiLVeKyVo1tpnktmnksppHOAHizoiRukAL1+RM/J6PUjer5Crx/RyzFC9SOMFYxuDXpZAiTQ7Se1fkRA9E4fum3oNpJaPaKbBGGhj1oDGei2o0ui245eaqNXj+jGwGj08WN0i9ElCVmMXj2imwFhEbIVXQcOm0mrHtEngiEsdJvRnYVuK7p/0atHdFOgDEMDoO2gUWukBhiIRrceqyR6/QhyE/b6EdSjgLkVaawOpca0dA93C0KrMj2KDi8sya5UKFM4uiAzN7UovywZ6BmIXegZDT2jE6pA0T0GZEDMwVqBoriO0hoU3XYECXEBepGMXoOia0MKBFJrUCgP3WB0CmI4pTWorhn6SC26pXAmNI2hV6UoCKYGvc5AR0hpBCVkUcdqgUU/xGWETAU7D716RkqH6LGHVj1jTdPodhIyG72yRqQpV1DyA1fTkCRLqslY6+mi1JTK3PxSoMEgIeh8sxcwP7mhm48eWrBIQq+34YUIer0NJCBS6NmZ0nobwg5GH69FL+QQiQ+94ka3FL3iRjcFRCPVJ+i2oYcSuo2EKm704gCJ8C/JAEYfugXotiMguu3o9QmhihuJQK9C0S1GlyRkMXrFjW4GhEXIVnQdOGwmpeIG1proHVsIC91qdHehW4vuYfSaG90UKAPhAHQb0K1HAjBJ9Job5CbsNbclqJpGqafNw0ydnNDqad/E4rzDKxWygUVbLqhkA3ZB8jLRK2ogge59QhU1elWJag7WihrFeZRW1Oi2I0iIC9CLY/SKGl0bmAvVSmlFjR1CDKe0ogYXPej1MwoFTUno9TMKgqlBqRuwKEMXBTPRAxgeTMh1KfZ0h24tIcPRK1OkMWFgYZepC57kAVepkMRFqvlYq1Sn/KSiyrxUHQWTMmBCLMoGz26hhxZ6ogcpQK9J0XM8ek2Knt/Qa1L0Eo9QTQpjoc98ohc6YITuAFJrUgQ0NkE3Fd06KIFuJalVKSpE7wMDGei2o0ui245ewKNXpejGwGgj9EoN3WJ0SUIWo1el6GaAmehVKbqt6Dpw2EyoKkXtA5uh16RgJrrN6M5CtxXdv+g1KbopUAawFgXZD+ykoluAbjsCwiTRK1KQk7BWpMABaPSK1MzUwBWeLqEVaViqQnFJZl6pQjaoeECvQYEY3duEalD0OgzVHKw1KIq7KK1B0W1HkBAXoJfB6DUoujYwF6qV0hoUO4QYTmkNij5YjA7hSQi9BkVBMDXoNSgaQBeFsNADGB5MyDUoWoJDt4+QqehVJ+5BY0iqItV8rFVnNrDPnJmcnQ9WC+2MFiQWZWcWo5uPHqiwAEWvQ9EzO3odip7j0OtQ9KIOvQ7NM0KvQUE8P3RL0AsbIIFuO6kVKAIaIk04oluHHkboVhKqQNHzKxKBXoECGei2o0ui245erqNXoOjGwGj0ChTdYnRJQhajV6DoZkBYpoRsRdeBbjOpFSi4L2qBXoOCmehWo7sL3Vp0D6PXoOimQBnAGtwINIyNnMRANLr1WCXRq1CQm7BXoSC3oVahhgFGLh5oVWhAZlZJqkJaETAD5pdllyqiV6JAAt3nhCpR9GoM1RyslSiKyyitRNFtR5AQF6CXxuiVKLo2MBeqldJKFDuEGE5pJaoLmjdAr0RRKGgiQq9EURBMDXoligbQRSEs9ACGBxPKjCt6kkO3kZC56NUoUg+0srgktagSXIVC0hSpZmOtQoPycxPzSjKTjSzRzUMPQljwoVeZ6JkbvcpEz1/oVSZ64UaoyoSw0fuc6IULIk2gV5noNqJXmeimgGikSTF029CDCN1GQjUmeuZEIoJzE3Ny0C1Atx0JoNuOXo4TqjGRCPQaE91idElCFqPXmOhmQFhGeuj1Brqt6DrQbSajxjQG1lnoNSaQg241urvQrUX3MHqNiW4KlGGsbwyedrVEtwDddiQAk0SvMEFOwl5hgopt1ArTwsQvwgWtwgTWNlWJR3ohs1KeYej1JZBA9zeh+hK9xkI1B2t9ieIwSutLdNsRJMQF6MUuen2Jrg3MhWqltL7EDiGGU1pfog/bokN4GkKvL1EQTA16fYkG0EUhLPQAhgcTcn2JnuLQLSRkLHp1iXvAFpKsSDUfa5Xp6OPp4+nn7YhuGnoYwsIPvcJEz9zoFSZ6BkOvMNHLNkIVJoSNPt+JXrqAEbr1pNaYCGiCNIiGbh16IKFbSajKRM+fSERQanppTiL6lCe6/eiS6PajF+XgUEavNNEtR6++gAx0i9ElCVmMXmmimwFmGqNX1ei2outAt5nUShPczTRCrzTBTHSr0d2Fbi26h9ErTXRToAxjfUNjUC8TvdJEtx1dEr3ShDkJe6UJSoQQ8YKi1NzM0lyUCtTYI8jDDa0ChTT/i/NT0PubMIegBwGh+hO9BkP3EKgOhRlVWpAOHGlLVYBUiyVFicnZmXmgygh7TeqYUgYqNVIUglMTi5IzUNUlJoMG7ICqQguKU3NyFHyAVRHQKdjq3QBffwVIMQtVq+GcAxyT0wRVfJC6K6OkpKDYSl+/ILEyF6izWA9a2wNdp5ecn6tvD3W5bUlRKTzSQ6G+8csvh8YcejEKpmCBgKUhgRJB6N4ntSGBHg0IEuIC9AoJvSGBrg3MhWqltCGBHUIMp7QhoWuhm5JZnJiUA8r/6C0KVBIaTegtChQEU4PeokAHQD56uALdDqznSkrhUREAyZToRqK7DmQUuiVgJroF8OBH79Aj5Wh0uwiZit4+wd6dh6RUUs3G2jYJzk0FdubRZ77RIwMeEeh5Cl5KojdN4BGCXnahN03QKk1CTRMwB71lgl6EI1IXessE3Ub0lgm6KSDa0BzdVHTroATCyvwcUEgCjQdZCHdArm4puMRDtwZBQEwogEiHZGQWKwBRogI05er65+VUKsBKLD2oaniBDuQZmaMV5mAx7CUaWMrBPT8/PSfVETjXUglMB8XBJUVAbcV6zlBl6AYgSnq82h3BivQgBTykLkA3CFZ84jUHyQAfkHK9gNx8cN0BrjKgZlJaawDFoNEKTd0KJfmw8hyoGRb6ING0zLwUhcwSPah6aEShpwL0JIIEYJLojQpQusHeqAA1s3A3Kixcvc1BJT1yo8Ib2OgsLco7vBaYyfKTMw4vrMoGJqGcKpCIroKPoxOk4aCQlJ8HKhwh1qPnHPR8S6jNge5XKANiFqE2B3qlS2mbAz2NEWpzkJp6CLU50CMdGgjobQ7Q4AVy/KF7n9Q2B3o0IEiIC9ArGfQ2B7o2MBeqldI2B3YIMZzabQ50S9HzH3qbA70QhqpBb3OgAyAfPVyBbifU5kB3HTwo0C0BM9EtgAc/cpuDtAyP7hRClhLXJIEkZFLNxtok8c3U9SnV9UJvk6BHFjyi0PMcvJBFb5PAIwy9bKO0TQLi+aE3StCrAETyQ2+UoFuJ3ihBNwVEGxoj9WXR7UMPJaidhFol6LpRjad2qwS9zENvlaA3B0htlaBrJ7VVgm4Oqa0SSusVSlsl6KkAPYkgAZgkeqsElG6wt0pAKQh1fsA8yss3Cq0lEuIdpGxoqBBWmQEsmhXyEhVCKouKS8sUcvOLgckaYgN67kDPnIQaHujeATIg5mCtb1FciZ72SK1v0W1HkBAXoJeg6PUtujYwF6qV0voWO4QYTml9iz5ZgA7hCQq9mkVBMDXo1SwaQBeFsNADGB5MyPUi3uSHbjshO9CrQdwzB5A0Rqr5WKtC78SjC4GVTyaoNk892oFuKHq4wsIUvUZEz/3oNSJ6pqO0RoSw0ScQ0IsfMEK3ntQaEQGRhtLRbUMPI3Qb0ecPQDaizx+gmwRl+GYmF+WjW4BuOxJAtx19TJvQ7AESgT57gG4xuiQhi9FnD9DNgLBM0GcP0G1F14FuMzmzB+hT7lAGutXo7kK3Ft3DIGvRZw/QPQDkmECm3I0M0S1Atx0JwCTRq1SQk7BXqaB8hlqlGloERQaiVam+icXA+i87vyxfIe/wwtzU4pLDa9GrUiCB7nlCVSl6ZYZqDtaqFMV1lFal6LYjSIgL0Eth9KoUXRuYC9VKaVWKHUIMp7Qq1bVAr0rRMTQhoVelKAimBr0qRQPoohAWegDDgwm5KsWa7NBtJWQ2ehWKvScJSVekmo21+gSm72RgOxrcJEcPH/RkDlKAXm+iZ3H0ehM9h6HXm+glHKF6E8JG70milzFghG49qfUmAhqhG4puG5RAt5HUehMVotebQAa67eiS6Lajl+bo9Sa6MTDaEL3eRLcYXZKQxej1JroZYCYhW9F14LCZlHrTUB806Y1ebaLbjO5fdFvR/YtebaL7GE4B62xQtW1ggW4Buu1IACaJXm2CnIS92jRHrzadLSI9jJ3Rqk3QIJiTv19osEJQKrAayi9LtUevNYEEut8J1Zro9RaqOei1JmTAF9lxlNaa6LYjSIgL0Ate9FoTXRuYC9VKaa2JHUIMp3atiQ7h6Qi91kRBMDXotSYaQBeFsNADGB5MyLUmtlSHbikhowlVmtDhV3CyItVsrJWmT2JZZl5iBLph6EEICz70OhM9f6PXmej5C73ORC/dCNWZELYfuiXo5QuQQLed1CoTAdEnhNFtQ7eR1CoT3SQIC73KBDLQbUeXRLcdvSRHrzLRjYHRRuidPnSL0SUJWYxeZaKbAWaiV5notqLrwGEzaVWmJXqVCWai24zuLHRb0f2LXmWimwJlWOgbWoDsRw9tdNvRJdGrTJiTsFeZoNITtco0c/Ywc0OrMn3zs1IV8pNyMpNS81IVMnKA2SInMbdSwdMTveYEEuhBQKjmRK+7UM3BWnOiuJHSmhPddgQJcQF66Ytec6JrA3OhWimtObFDiOGU1py6IHvRa04UCpqc0GtOFARTg15zogF0UQgLPYDhwYTS38Sd+NDtJmQDegWKiPwQ4CRLJmhKKDEHXIlCUhip5mOvRIFTMsDslp5hYGCObiJ6kMKCE70mRc/26DUpen5Dr0nRCz1CNSmEjd75RC92EGkEvSZFtxG9JkU3BUQbGpqhG4tuH5RAt5PUuhQVBucmAmc80S1Atx0B0W1HL+IJ1aVIhAl6rYZuMbokIYvR61J0M8BM9Boc3VZ0HThsJlSXog7bGpmgV6ZgJrrV6O5Ctxbdw+iVKbopUIYxuPuLnMBANLrlWCXR61KQi7DXpZbodalzlKmpE1pVCpq9yVMoS1UoLilKTQF2A7JL0etQIIHuc0J1KHothmoO1joU2W2UVqHoliNIiAPQy1/0KhRdG5gL1UppFYodQgyntApF73yiQ3gqQq9CURBMDXoVigbQRSEs9ACGBxNyFYot0aFbSsho9LoTe+cTnKpINRprtQlMY0XpqclV6KahByEs+NCrTPTcjV5lomcv9CoTvWwjVGVC2OgDtujFCxihW09qnYmAwJkiQtZBSHQrSa0yUSF69xPIQLcdXRLddvSCHL3KRDcGRhujV5noFqNLErIYvcpENwPMNESvMtFtRdeBbjOpVSao+4leY0JY6DajOwvdVnT/oteY6KZAGbCZVgP0OhPdenRJ9DoT5iasdaaxAajOBIsXFKXmZpbmotSf5oFuLl5oFejRBSVFpXnJ+WWVCsWJKZUKoLLtaAfEGiMzZeAosLmlqTVeHnp9ix5uQFsI1bfoVR4SATErEW5UaUE6sHORqgCpR0uKEpOzM/NAtRf2qtcxpQxUzqQoBKcCp6wyUNUlJoP6KEBVoQXFqTk5oL5FNtAp2CrqAF9/BWdwJQ1Vq+Gck5mcrQmqKSGVXUZJSUGxlb5+QWJlLlBnsR60dQB0nV5yfq6+PdTltsAAh6eUUKhv/PLLobGNXvCCKVggYGl4oEQquvdJbXmgRwOChLgAvfZCb3mgawNzoVopbXlghxDDKW156BrppmQWJyblgMoM9CYIKgmNJvQmCAqCqUFvgqADIB89XIFuB9aMJaXwqAiAZGR0I9FdBzIK3RIwE90CePAjt2gIlQLo+R47D919aACnSwgMHkBSOKnmY20F+Wbq+pTqemWim4Yei7AYRM+MMHH0VhAiYaAXeuitILQamlArCMxBbwWhVxhghG49qa0gBDQ0N0Q3Ft0+FEmQnfk5oLAEmg+yEe6CXN1ScGGJbg+CgJhQAJEOycgsVgCiRAVootf1z8upVIAVdnpQ1fC6AMgzMkerB8Bi2AtDsJSDe35+ek6qIzBxVZZkJhcHlxQBtRXrOUOVoRuAqCTwancEK9KD1A2QagTdIFjJi9ccJAN8QMr1AnLzwdUOuLaBmklphQMUg0YrNH0rlOTDqgKgZljog0TTgKNtCpklelD10IhCTwXoSQQJwCTR2zCgdIO9DQNqX6GNoZtEWbqgtVs887JL8xKTSnOAPoOYh54X0LMiofYHuuOBDIg56NUuZMwc2U3oKY3UahfddgQJcQF6mYle7aJrA3OhWimtdrFDiOGUVrvoHX50CE8+6LUtCoKpQa9t0QC6KISFHsDwYEKuHpESG7pdhExEr+aw9/MhqYlUs7FWcUGZJcBcDBRCNw3d91AF6FUcenZGr+LQ8xWlVRyEjV7FoZcnYIRuPalVHAKaIfU/0a1DDyR0Kwl19NGzJRKBPjYOZKDbji6Jbjt6/xO9o49uDIw2Ru9yo1uMLknIYvSOProZYCZ6Rx/dVnQdOGwmraMPROg9fRAb3Wp0d6Fbi+5h9J4+uilQBrCnD3aAIfrACrr16JLotSTMTdhrSVCJjVpLmjo7GYah1ZIBQKpEISe/tCS7UkEXlEWTUjMUclOBeRLUxs9DrzyRrEXP5IQqT3Q/Qc3BWnmiOJXSyhPddgQJcQF6SYxeeaJrA3OhWimtPLFDiOHUrjzRITxVoVeeKAimBr3yRAPoohAWegDDgwlltJxQGkR3ArpvgBycFuGpUyGJjFSz0etUSLextCoV2B4G+SE1G9w5hpiGHm7oyR+9ekWKFPTqFRFf6DmP0uoVxEOvXtELIjBCt57U6hUBjczRTUW3DkqgW0lq9YoKg1LTS3MSi9CtQLcfCaDbj17sE6pgkQj0ChbdYnRJQhajV7DoZkBY6JPP6Lai68BhMwkVrKW+kRl6/QpmotuM7ix0W9H9i16/opsCZUDtNzRBtwDddiQAk0SvXkFOwl69gtIgRBx9IB1U1VpEerh7o1W1wSWJRYcXKhRX5iWm56cnKpSBC7dM9AoWSKCHBaEKFr2KQ/cZtUfH0Qc+0EfH0StmULwRGh0ndbAC4l/00XH04hRKwAIBS0sDJabQvU9qSwM9GhAkxAXo9RN6SwNdG5gL1UppSwM7hBhOaUtD1xR9dBzdUjgTGk3oTQ4UBFOD3uRAB0A+ergC3U5odBzddfCgQLcEzES3AB78yC0YXFkb3VJCxqO3WxApyie1BNhuScqvUPCoTCrKTAE3YCBpl1RLsDZgwuKBMmWGhgrOUQoaIFEjs8TcAmuFo3szU/LLirOBvstPSk2GjvtroluKHo2wKETPjfCCFr1xA49K9FIPvXGDVu0SatyAOeiNG/RqAIzQrSe1cYOAFkhTuOjWoQcS1Er00XGIA9BHx9FjFmYCqaPjUAuAPPTRcYgYemGIPjqOPixN6ug4unZSR8fRzSE0Og70PProODB4Sa1wwGGMPjoOFiR1dBw9FaAnESQAk0RvmIDSDfaGCailhtrvtzABAAAA//9yMXSKUVJISSxJ1M1LzE21jVFyT82vSjzSe3hhSXYlUCqm1MDAODUmTwEKwPzkkhSF5JzE4mKg+tz8pMycVN3ijPxyheTE5IxU3YKizNzEokrdlNSSxMyc4hgldDNANMScRIWMotQ0oCn66an5YN367s4WJkiuSi1LzSvRTU4sSU3PL6oEqgSJokrmJCal5gBlwjJTyxWAzgebo+CCz3YQG+KC4oLEPLhfIO4vqSxIRdeGSkK1lqVj0ambmZsOdF95ZkpJBlDC2AjIyUjNTM8ogfLQDUanIIaXFqcqVORk5mVbwUKoICexUj+xoEC/NFM3Mzk/r1i/GBjSJanF+gjLi/WAjlIGyeqC7NVHtws9BoyT9YEaYKrQ1SHUAAMJoQiLMnRRMBM9gOHBBEppsHBASW7otpFgJlpiCylKTMksyczPS8xRqFGApSmyzM8vz0stgpmbVKng6OPp4+nn7YhuGnoAwgIvEd0uqHhJCro2ArkLGNu6ZrCkn5yfU5qbB1ThkllckpiXjJRijbJz0b2loBAcjm4LkgNwWg+y0hTdSiW3xLJ8UMoLyM/MK0FP0BDS2BzdVHTroARWK43RrVRyzs8Dxi8wIoIzq9AzJxIRnJuYk4NuAbrtSACr7YbotgPDOC0tM7k0pwRYIqIbA6MN9UzRzUa3GAkQaXFIalER0NvotiJIQrai68Bhswm6zUouwBLXJ7G4JCyzGBjTKQgXGBrqm+obGRgZohuMbjO6s9BtRfcvyNaAnMTkVJDV6D5GkMb6ZkDrDS3RzUe3HD1MgJJFyJJQFxUpQJxQBMzmpblJqUVAVxgag9I8VCIzBSji7hzuHOaNVlP65ymYmloq5KaWpBYVK+grBBdUKgDzIqjUUTBUQK87gQR6IBCqO9FrL1RzsNadyM6ktOpEtxxBQhyAXgqjV53o2sBcqFZKq07sEGI4pVWnrgV61YmOoQkKvepEQTA16FUnGkAXhbDQAxgeTMhVJ4H0h24/IVvQK1NEAvCtLAZaUQmuSMEJjFSjsdajAfl5mdlghUZmibkF1golqYm5Cokp+QXA8kYBqCAkMTexIBHdI+ihDQ9p9HoWJo5ezyIiED0nUlrPgnh+6PUseqGESD/o9Sy6lej1LLopIBqYKwhZByHRrSS1nkWFvpnJRfnoFqDbjgTQbUcv/gnVs0iEiZ4ButnoFiMBQhaj17PoZsBo9HoW3VZ0HThsJq2eNUSvZ8FMdJvRnYVuK7p/0etZdFOgDDN9Y6D1Bmbo5qNbjgRgkuj1LMhF2OtZUDZDq2eNDAPR6tmAnKrUPB2F4BI9BafEopKM/Jz83NTSYgXnxJKM1JQiYAs/J7UEWEAl5VegV7pAAj1ECFW66PUeqjnYK10kN1Na6aJbjiAhDkAvrdErXXRtYC5UK6WVLnYIMZzSShdc/KFXuigUNHWhV7ooCKYGvdJFA+iiEBZ6AMODCbnSJSUxojuGkJXoNTAiNfjAzFTwqEwqykyBVMWgZEeqHcRXxehGowc4LLDR6130MgK93kXPjOj1LnoBSajehbDR6130QgqM0K0ntd5FQBMzY3Rj0e1DkUSveNHtRK940U2C0UGp6aU5iUXoVqDbjwTQ7UevEQhVvUiEIXrVi24xuiQhi9GrXnQzwEwjQrai60C3mZyq1wK96gUz0W1Gdxa6rej+Ra960U2BMkz1DUFdbPS6F912rJLodS/ISdjrXnP0utfZ3NvYKBy98gWVd8XZqQrJJWVFJakKugpOwHoNvZ4FEujeJ1TPold1qOZgrWdR3EdpRYtuO4KEuAC9UEavaNG1gblQrZRWtNghxHBKK1pw2YNe0aJQ0KSEXtGiIJga9IoWDaCLQljoAQwPJvSKFkvCQ7eXkOnodSpSrxZY2GXqOoPTBKg6haQuUs3HWp+GZ2TmoTsVPRzhYYhef6Lnc/T6Ez2Todef6KUcofoTwkYfH0YvaMAI3XpS608EROpNoduGHkboNhKqPdGzKBKB3m0FMtBtR5dEtx29SEevO9GNgdHotRi6xeiShCxGrzvRzYCw0Lut6Lai68BhMyl1p4E+EKFXniA2utXo7kK3Ft3D6JUnuilQhjF4eNrQAt18dMuRAEwSve4EuQh73QkaIUStOy0Mwk380OrOUIWATGCZU1yKXl0CCXQPE6ou0SssVHPQq0vIPCqykyitLtFtR5AQF6CXt+jVJbo2MBeqldLqEjuEGE5pdYk+j4oO4akHvbpEQTA16NUlGkAXhbDQAxgeTMjVJSKtoVtFyED0GhLPJCo4QZFqPtYaMii/KiMnNSXv8NrsgMSy1Bx0U9FDERaC6JUlesZGryzRsxh6ZYlerBGqLCFsP1d0W9BLFiCBbj2plSUCIvUD0G1DDyN0GwlVlugZFIlAryyBDHTb0SXRbUcvwtErS3RjYDR6ZYluMbokIYvRK0t0MyAs9O4tuq3oOnDYTFplaWSCXlmCmehWo7sL3Vp0D6NXluimQBlG+kZAhD6bim47dkn02hLkJOy1pSV6bels7mTp6o5WW0Ib/JUKiXkpqTmZyanZwEyaD5zRSi0uyUSvQRFWomdvQjUoun+g5qDXoJAOJ7IzKa1B0W1HkBAXoJfH6DUoujYwF6qV0hoUO4QYTmkNCs4Q6DUoCgVNUeg1KAqCqUGvQdEAuiiEhR7A8GBC73DiTn/o1hOyBL1WRcR/WGZRSSm0RoUkMFLNxlqjhuTnJhbn52crJAJL7qJEC2N0Y9GDFRak6FUqeu5Hr1LR8xx6lYpe+BGqUiFs9PFb9OIHjNCtJ7VKRUDg6Bq6sej2oUiiV6rodqJXqugmwWh/4CwB+ugtuu3okui2oxf14EBGr1TRrUav3oAMdIvRJQlZjF6popsBZhKyFV0HDpsJVapoE6egSg29UkW3Gt3D6Naiexi9UkX3MpwCjh2DKnVDc3QL0G1HTwTolSrUSVgrVRMDUKUKFi8oSs3NLM1FqWCjvCN80epX30pgUVZUqZCfpuCSmQxu1hdlpgKLJYg96NkMPZcTqlnRPYViViLcqNKCdGCvIlUBUmGWFCUmZ2fmgaop7HWsY0oZqPBIUQhOTSxKzkBVlwj2BVBVaEFxak6Ogg+wkgL5B71GBkWbrz9wig5UG0PVajgDi/hsTVCVCKnVMkpKCoqt9PULEitzgTqL9aDtAKDr9JLzc/XtoS63LSkqRfS6oL7xyy+HxiB6aQqmYIGApYmBHFHovie1hYEeCwgS4gD0ugm9hYGuDcyFaqW0hYEOkVMapS0MXQvdlMzixCRghxLoAPSmBgoFjSX0pgYKgqlBb2qgAyAfPVyBbgfWdiWl8KgIgORNdCPRXQcyCt0SMBPdAnjwI7dccOVsdEsJGY/eZkEaK4faAGqzgFMsqUZjbbL4Zur6lOp6ZSokpuQXAMtwhbSi/FwFYDpPTjSzQLcCPapg0YSe4eBFKXrzBR5d6AUbevMFrWYl1HwBc9CbL+gFPRihW09q8wUBjUzRp5/R7UO3UwFoPCgsgeaDbIS7IFe3FFwgotuDICAmFECkQzIyixWAKFEBmrJ1/fNyKhVgBZoeVDW8vAfyjMzRynqwGPYSDyzl4J6fn56T6ggcdqosyUwuDi4pAmor1nOGKkM3AFER4NXuCFakByn/IVUFukGw4hWvOUgG+ICU6wXk5oOrFnCNAjWT0koFKAaNVmj6VijJh5X3QM2w0AeJpmXmpShkluhB1UMjCj0VoCcRJACTRG97gNIN9rYHqFmE2qG3NLEIAk0oIzc4nPLzSosVfBydgHN3UUd6QhXKFJKBgVCEPhyOZB16ziTU5ED3Czz5YalpUZyInvBIrWrRbUeQEBegF6noVS26NjAXqpXSqhY7hBhOaVWrC5r5QK9hUShoakKvYVEQTA16DYsG0EUhLPQAhgcTcpWIO+2hW03IAuIqRUjiItVs7LViYlFJZVEmsA2Bbhx6aEAVoNeA6LkdvQZEz2ek1oB5RnqG6HUgiIdeB6IXOGCE7gBS60AERBqzRLcNPZTQbSTUgUfPp0gE+qg4kIFuO7okuu3o3Ur0Djy6MTAafVQc3WJ0SUIWo3fg0c2AsNCnkNFtRdeBw2bSOvDog+IQFrrN6M5CtxXdv+j9d3RToAzQ6AFoDtkIPbjRrUeXRK9EYW7CXomCSnC0OWQTFyNvtEoUWPFUJR7pPbywBDgy6enpiV53Agl0nxOqO9FrL1Rz0OtOyFQysssorTvRbUeQEBegl7zodSe6NjAXqpXSuhM7hBhO7boTHcITEXrdiYJgatDrTjSALgphoQcwPJiQ6070JIduI7rjgRyc5uKpMiFpilSzsVaZjj6ePp5+3o7opqEHICzw0GtM9KyNXmOi5y70GhO9ZCNUY8JYwejWoBcuQALdflIrTAQ0Rp9HRrcO3UpSa0x0kyCs4NxEYPcS3QJ02xEQ3Xb0gpxQjYlEGKHXXegWo0sSshi9xkQ3A8xEr6fRbUXXgcNmQjUm2jyyGXqVCWaiW43uLnRr0T2MXmWimwJlGOuDrEefRka3HKskeoUJchH2ChOUAiHi6CPe4MrTy8XVGa3yBI4eA2uj0qJUWE8gF5hSc4BjF6CpPvSaFIjRA4RQTYpel6H7j9oD3+jjHegD3+g1MCjyCA18kzpGAfEv+sA3epmKEqDYmxTI8YXufVKbFOjRgCAhLkCvmdCbFOjawFyoVkqbFNghxHBKmxToI9/oliIxoNGE3rZAQTA16G0LdADko4cr0O2ERr7RXQcPCnRLwEx0C+DBj9xUwZ/B0a0mZAmR7RZwwiXVbPR2C8qcPbpp6JEDixj0PAYvRNHbLfAIQi/L0NstaFUqersFfawbzEHv56MX8WCEbj2pzRYEBE4FELIOQiKsRB/qhjgAfagbPcpgJpA61A21AMhDH+qGiKEXcehD3ehjzKQOdaNrJ3WoG90cQkPdQM+jD3UDg5fUagQcxuhD3WBBUoe60VMBehJBAjBJ9EYHKN1gb3SAWmGovXRDrxDTcLSGRlhiXn5yXqZCdmqxgr6Cc0YRMCcBszakzYDe0AASUCvRMyehhga6f+BJEEv9iuJM9MRHav2KbjuChLgAvQRFr1/RtYG5UK2U1q/YIcRwSutX9C47OoSnKPRqFQXB1KBXq2gAXRTCQg9geDAh14P40x+69YQsIa4ehCQwUs3GWg86+ZT6hqQmojcW0EMTHpLo9SB6pkevB9GzGqn1IHr/HcZCrwnRyx0wQncAqTUhApqjG4puG5RAt5HU/jsqRO+/AxnotqNLotuO3qtE77+jGwOj0fvv6BajSxKyGL3/jm4GhIXef0e3FV0HDpsJ9d9RR7zRu+8QFrrN6M5CtxXdv+jdd3RToAzgiDdoCMHAAKmpBaLRrccqiV6XgtyEvS4FJXrUutTUxNILvdPullqUkqjgW5QIrJZSk9ErTyCB7m9ClSd69YVqDtbKE8VdlFae6LYjSIgL0Itd9MoTXRuYC9VKaeWJHUIMp3bliQ7hSQi98kRBMDXolScaQBeFsNADGB5MyJUnWoJDt4+QqcTVlpAURarZWGvLqNKqTHST0IMOFmzoNSV6lkavKdHzFXpNiV6iEaopYaxg9JoSvVRBJAf0mhLdUvSaEt0UEI3eZUS3Dd1GUmtKdJMgLPSaEshAtx1dEt129AIcvaZENwZGo8/SoluMLknIYvSaEt0MCAu9pkS3FV0HDpsJ1ZRoI92W6FUlmIluNbq70K1F9zB6VYluCpRhChnpNkE3H91yJACTRK8oQS7CXlGCMhpapzMyzBi90xmQX5SfkgfsiAOHIMDtfPSqEt3fQD2Eqkr0ygrFHPSqEtLPRHYZpVUluu0IEuIC9DIXvapE1wbmQrVSWlVihxDDqV1VokN4IkKvKlEQTA16VYkG0EUhLPQAhgcTclWJnuTQbUR3PJCD01z0yhK5awlOU6SajbWy9M/My0nMT86GjBWhBw56GkevMZFCHr3GREQKevaitMaEsNErTPTSBZEo0CtMdDvRK0x0U0A0+tQwum3oNpJaYaKbBGH5ZiYX5aNbgG47EkC3Hb0YJ1RhIhHoVRe6xeiShCxGrzDRzYCw0KtpdFvRdeCwmYQK01zf0AK9vgQz0W1Gdxa6rej+Ra8v0U2BMiz1gZ1LYM8SfWoY3XZ0SfQKE+Yk7BWmOXqF6WwWEhDph1ZhhuQXKOSnKeRCSxpdyDSRArA6N1fQAGbcktTcRNDEKLqb0EODUC2KXo+hmoO1FkVxLqW1KLrtCBLiAvTCGL0WRdcG5kK1UlqLYocQw6ldi6JDeMpCr0VREEwNei2KBtBFISz0AIYHE3ItSlw6RHcGIcuIq1ohCY1Us7FWrd6JRxcC67JMsPOPdqAbih64sIBFr2DRywL0ChY956FXsOglIaEKFsZCH7xFL47ACN0BpNawCGiM3idFtw7dSlKrWHSTICz0KhbIQLcdXRLddvSSH72KRTcGRpuiV7HoFqNLErIYvYpFNwPMRK/Y0W1F14HDZkJVLGqfFFLHGqCbjG41urvQrUX3MHodi24KlGGsbwzqkyJND4BodMuxSqJXsSAXYa9iQWUrahVrEWLgGIBWxTqmgKqn0qJUBeCEsRW0ZFAoLskvOzL76L7EksMLgcVdUn5eKbBwgtiHntnQczuhehbdc0AGxBys9SyKmymtZ9FtR5AQF6CXzOj1LLo2MBeqldJ6FjuEGE7tehYdwpMXej2LgmBq0OtZNIAuCmGhBzA8mJDrWRISI7pbCNlIXGULSW2kmo21sg1LzQMOUicqFBfk56CbiB68sKBFr2nRiwT0mhY976HXtOgFIqGaFsZCr2nRSyUwQncAqTUtAhojVQDo1qEHE7qVhGpa9MyLRKDXtEAGuu3okui2o5f/6DUtujEw2hi9zkO3GF2SkMXoNS26GWAmek2Lbiu6Dhw2E6ppUedJTdA7s2Amus3ozkK3Fd2/6BUtuilQhqm+sSG4oke3AN12JACTRK9pQU7CXtNaote0zpEWhugVLbjLUJydqlCcmFKpoK8QACyCgNNXRQoFiUXZ6JUrkpXoGZxQ5YruH6g5WCtXZGdSWreiW44gIQ5AL4jR61Z0bWAuVCuldSt2CDGc0roVXP6g160oFDRBodetKAimBr1uRQPoohAWegDDgwllJBh/+kO3n5AteOpTYNGXqesMThugOhWcyEg1HmuVCkxyRempyVU6Cokp+QXAgkYBKOjo45PprVCSmpiLbgl6QMMCGb2WRS8O0GtZ9EyIXsuiF4aEalkYC72WRS+RwAjdAaTWsghogl7LoluHbiWptSy6SRAWei0LZKDbji6Jbjt64Y9ey6IbA6PRB2/RLUaXJGQxei2LbgaERchWdB04bKa0lgWx0W1Gdxa6rej+Ra9l0U2BMoBDxqBa1gBpTgJEo9uOVRJeyyrpKAUDM5VPfmKKb35RqpJVSVFpai0gAAD//6x3+N3vdgEA", + "base64_string": "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", "encoding": "utf-8", "string": "" }, "headers": { "Cache-Control": [ - "private, s-maxage=0" + "max-age=60, private" + ], + "Connection": [ + "Keep-Alive" ], "Content-Encoding": [ "gzip" ], + "Content-Length": [ + "10684" + ], "Content-Type": [ "application/json; charset=utf-8" ], - "Date": [ - "Sun, 14 Nov 2021 01:37:16 GMT" + "CorrelationGuid": [ + "1690f72b-88f6-4cc3-b2ee-eb36355bc6df" ], - "Request-Context": [ - "appId=cid-v1:4b073fcf-4f27-40ae-ad90-f5ba794bbe37" + "Date": [ + "Sat, 25 Mar 2023 17:34:17 GMT" ], - "Server": [ - "Microsoft-IIS/10.0" + "Set-Cookie": [ + "jwt=; expires=Sat, 25 Mar 2023 18:33:15 GMT; domain=.geocaching.com; path=/; secure; httponly" ], "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], - "Transfer-Encoding": [ - "chunked" - ], "Vary": [ "Accept-Encoding" ], - "X-AspNet-Version": [ - "4.0.30319" - ], - "X-AspNetMvc-Version": [ - "5.2" - ], "X-Content-Type-Options": [ "nosniff" ], @@ -326,7 +159,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/play/search/more-results?origin=49.733867%2C+13.397091&startIndex=100&ssvu=2&selectAll=false" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?origin=49.733867%2C13.397091&asc=true&sort=datelastvisited&take=50&skip=50" } } ], diff --git a/test/cassettes/geocaching_search_rect.json b/test/cassettes/geocaching_search_rect.json index d37bf87..08a2b32 100644 --- a/test/cassettes/geocaching_search_rect.json +++ b/test/cassettes/geocaching_search_rect.json @@ -25,7 +25,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" }, "response": { "body": { @@ -75,7 +75,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" } }, { @@ -103,7 +103,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=distance&origin=49.73717%2C13.38097" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=distance&origin=49.73717%2C13.38097" }, "response": { "body": { @@ -153,7 +153,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=distance&origin=49.73717%2C13.38097" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=distance&origin=49.73717%2C13.38097" } }, { @@ -181,7 +181,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=false&skip=0&sort=distance&origin=49.73717%2C13.38097" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=false&skip=0&sort=distance&origin=49.73717%2C13.38097" }, "response": { "body": { @@ -231,7 +231,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=false&skip=0&sort=distance&origin=49.73717%2C13.38097" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=false&skip=0&sort=distance&origin=49.73717%2C13.38097" } }, { @@ -259,7 +259,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=containersize" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=containersize" }, "response": { "body": { @@ -309,7 +309,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=containersize" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=containersize" } }, { @@ -337,7 +337,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" }, "response": { "body": { @@ -387,7 +387,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=datelastvisited" } }, { @@ -415,7 +415,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=difficulty" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=difficulty" }, "response": { "body": { @@ -465,7 +465,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=difficulty" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=difficulty" } }, { @@ -493,7 +493,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=favoritepoint" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=favoritepoint" }, "response": { "body": { @@ -543,7 +543,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=favoritepoint" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=favoritepoint" } }, { @@ -571,7 +571,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" }, "response": { "body": { @@ -617,7 +617,7 @@ "code": 429, "message": "" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" } }, { @@ -645,7 +645,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" }, "response": { "body": { @@ -695,7 +695,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddate" } }, { @@ -723,7 +723,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddateoffoundbyuser" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddateoffoundbyuser" }, "response": { "body": { @@ -773,7 +773,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddateoffoundbyuser" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=founddateoffoundbyuser" } }, { @@ -801,7 +801,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=geocachename" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=geocachename" }, "response": { "body": { @@ -851,7 +851,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=geocachename" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=geocachename" } }, { @@ -879,7 +879,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=placedate" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=placedate" }, "response": { "body": { @@ -929,7 +929,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=placedate" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=placedate" } }, { @@ -957,7 +957,7 @@ ] }, "method": "GET", - "uri": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=terrain" + "uri": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=terrain" }, "response": { "body": { @@ -1007,7 +1007,7 @@ "code": 200, "message": "OK" }, - "url": "https://www.geocaching.com/api/proxy/web/search?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=terrain" + "url": "https://www.geocaching.com/api/proxy/web/search/v2?box=49.74%2C13.38%2C49.73%2C13.39&take=200&asc=true&skip=0&sort=terrain" } } ], diff --git a/test/test_geocaching.py b/test/test_geocaching.py index cccaddf..24ff855 100644 --- a/test/test_geocaching.py +++ b/test/test_geocaching.py @@ -27,14 +27,35 @@ def test_my_dnfs(self): def test_search(self): with self.subTest("normal"): tolerance = 2 - expected = {"GC5VJ0P", "GC41FJC", "GC50AQ6", "GC167Y7", "GC7RR74", "GC167Y7"} + expected = { + "GC50AQ6", + "GC9T8WJ", + "GC8Z14D", + "GC167Y7", + "GC7TT7T", + "GC3TF1K", + "GC77PV1", + "GC84801", + "GC5MGHV", + "GC5VJ0P", + "GC9PN94", + "GC161KR", + "GC7GNTE", + "GC1M7GP", + "GC5EDMF", + "GC868VY", + "GC44001", + "GC3P972", + "GC86RK3", + "GC9TRPD", + } with self.recorder.use_cassette("geocaching_search"): found = {cache.wp for cache in self.gc.search(Point(49.733867, 13.397091), 20)} self.assertGreater(len(expected & found), len(expected) - tolerance) - with self.subTest("pagging"): + with self.subTest("pagination"): with self.recorder.use_cassette("geocaching_search_pagination"): - caches = list(self.gc.search(Point(49.733867, 13.397091), 100)) + caches = list(self.gc.search(Point(49.733867, 13.397091), 100, per_query=50)) self.assertNotEqual(caches[0], caches[50]) def test_search_quick(self): @@ -64,6 +85,31 @@ def test__try_getting_cache_from_guid_pm_only(self): pass +class TestAdvancedSearch(LoggedInTest): + def test_search(self): + with self.recorder.use_cassette("advanced_search"): + # https://www.geocaching.com/play/search?st=Prague%2C+Hlavní+město+Praha&ot=query&asc=false&sort=distance + results = self.gc.advanced_search( + options={ + "st": "Prague, Hlavní město Praha", + "ot": "query", + "asc": "false", + "sort": "distance", + }, + limit=50, + ) + self.assertEqual("GC11JM6", list(results)[0].wp) + + def test_caches_owned_by_geocaching_hq(self): + with self.recorder.use_cassette("advanced_search_caches_owned_by_hq"): + # https://www.geocaching.com/play/search/?hb=Geocaching+HQ + options = {"hb": "Geocaching HQ"} + generator = self.gc.advanced_search(options=options) + results = list(generator) + self.assertGreaterEqual(91, len(results)) + self.assertEqual("GC1TEZH", results[-1].wp) + + class TestAPIMethods(LoggedInTest): def test_search_rect(self): """Perform search by rect and check found caches."""