internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: alltheplaces/alltheplaces

Issue:
Spider ymca is broken
During the global build at 2021-06-02-14-42-40, spider **ymca** failed with **0 features** and **87 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-06-02-14-42-40/logs/ymca.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-06-02-14-42-40/output/ymca.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-06-02-14-42-40/output/ymca.geojson))


Discussion:
During the global build at 2021-06-09-14-42-21, spider **ymca** failed with **0 features** and **92 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-06-09-14-42-21/logs/ymca.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-06-09-14-42-21/output/ymca.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-06-09-14-42-21/output/ymca.geojson))

Resolving patch:
diff --git a/locations/spiders/ymca.py b/locations/spiders/ymca.py
--- a/locations/spiders/ymca.py
+++ b/locations/spiders/ymca.py
@@ -44,11 +44,11 @@
 class YmcaSpider(scrapy.Spider):
     name = "ymca"
     item_attributes = { 'brand': "YMCA" }
-    allowed_domains = ["ymca.net"]
+    allowed_domains = ["ymca.org"]
     download_delay = 0.5
 
     def start_requests(self):
-        url = 'https://www.ymca.net/find-your-y/?'
+        url = 'https://www.ymca.org/find-your-y/?'
 
         for point in SINGLE_POINT_STATES:
             _, lat, lon, state = point.strip().split(',')


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider verizon is broken
During the global build at 2021-07-14-14-42-22, spider **verizon** failed with **4611 features** and **1645 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-07-14-14-42-22/logs/verizon.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-07-14-14-42-22/output/verizon.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-07-14-14-42-22/output/verizon.geojson))


Discussion:
During the global build at 2021-08-11-14-42-19, spider **verizon** failed with **0 features** and **6473 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-08-11-14-42-19/logs/verizon.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-08-11-14-42-19/output/verizon.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-08-11-14-42-19/output/verizon.geojson))

Resolving patch:
diff --git a/locations/spiders/verizon.py b/locations/spiders/verizon.py
--- a/locations/spiders/verizon.py
+++ b/locations/spiders/verizon.py
@@ -62,10 +62,15 @@ def parse(self, response):
         urls = response.xpath('//url/loc/text()').extract()
 
         for url in urls:
-            yield scrapy.Request(url, callback=self.parse_store)
+            if url.split('/')[-2].split('-')[-1].isdigit():
+                # Store pages have a number at the end of their URL
+                yield scrapy.Request(url, callback=self.parse_store)
 
     def parse_store(self, response):
         script = response.xpath('//script[contains(text(), "storeJSON")]/text()').extract_first()
+        if not script:
+            return
+
         store_data = json.loads(re.search(r'var storeJSON = (.*);', script).group(1))
 
         properties = {


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Bassett Furniture
https://stores.bassettfurniture.com/


Discussion:

Resolving patch:
diff --git a/locations/spiders/bassett_furniture.py b/locations/spiders/bassett_furniture.py
new file mode 100644
--- /dev/null
+++ b/locations/spiders/bassett_furniture.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+import json
+import re
+
+import scrapy
+from scrapy.utils.gz import gunzip
+
+from locations.items import GeojsonPointItem
+
+
+class BassettFurnitureSpider(scrapy.Spider):
+    name = "bassett_furniture"
+    item_attributes = {'brand': 'Bassett Furniture', 'brand_wikidata': 'Q4868109'}
+    allowed_domains = ['www.bassettfurniture.com', 'stores.bassettfurniture.com']
+    start_urls = [
+        'https://stores.bassettfurniture.com/sitemap.xml.gz',
+    ]
+    download_delay = 0.3
+
+    def parse(self, response):
+        body = gunzip(response.body)
+        body = scrapy.Selector(text=body)
+        body.remove_namespaces()
+        urls = body.xpath('//url/loc/text()').extract()
+
+        for url in urls:
+            if url.count('/') >= 6:
+                yield scrapy.Request(url=url, callback=self.parse_store)
+
+    def parse_store(self, response):
+        data = response.xpath('//script[@type="application/ld+json" and contains(text(), "streetAddress")]/text()').extract_first()
+
+        if data:
+            parsed_data = re.search(r'(.*),\s*"branchOf":\s{', data, flags=re.MULTILINE | re.DOTALL).group(1) + '}'
+            store_data = json.loads(parsed_data)
+            ref = re.search(r'.+/(.+?)/?(?:\.html|$)', response.url).group(1)
+            phone = re.search(r'"telephone":\s*"([0-9.]+)"', data).group(1)
+
+            properties = {
+                'ref': ref,
+                'name': response.xpath('//div[@class="address_inner"]/h1/text()').extract_first(),
+                'addr_full': store_data["address"]["streetAddress"],
+                'city': store_data["address"]["addressLocality"],
+                'state': store_data["address"]["addressRegion"],
+                'postcode': store_data["address"]["postalCode"],
+                'country': store_data["address"]["addressCountry"],
+                'phone': phone,
+                'website': response.url,
+                'lat': float(store_data["geo"]["latitude"]),
+                'lon': float(store_data["geo"]["longitude"]),
+            }
+
+            yield GeojsonPointItem(**properties)


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider tapetro is broken
During the global build at 2021-10-06-14-42-44, spider **tapetro** failed with **0 features** and **1 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-10-06-14-42-44/logs/tapetro.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-10-06-14-42-44/output/tapetro.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-10-06-14-42-44/output/tapetro.geojson))


Discussion:

Resolving patch:
diff --git a/locations/spiders/tapetro.py b/locations/spiders/tapetro.py
--- a/locations/spiders/tapetro.py
+++ b/locations/spiders/tapetro.py
@@ -57,7 +57,7 @@ def parse(self, response):
                     'fuel:diesel:class2': store['WINTERIZED DIESEL NOV-MAR(any temp)'] == 'Y' or store['WINTERIZED DIESEL NOV-MAR (when temps are 10 degrees or below)'] == 'Y' or store['WINTERIZED DIESEL NOV-MAR (when temps are 30 degrees or below)'] == 'y',
                     'fuel:diesel': True,
                     'fuel:HGV_diesel': True,
-                    'fuel:lng': int(store['LNG(Liquified Natural Gas)/Lanes'] or 0) > 0,
+                    'fuel:lng': store['LNG(Liquified Natural Gas)'] == 'Y',
                     'fuel:propane': store['PROPANE'] == 'Y',
                     'hgv': True
                 }


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider labreweries is broken
During the global build at 2021-07-21-14-42-39, spider **labreweries** failed with **0 features** and **88 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-07-21-14-42-39/logs/labreweries.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-07-21-14-42-39/output/labreweries.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-07-21-14-42-39/output/labreweries.geojson))


Discussion:
During the global build at 2021-08-25-14-42-15, spider **labreweries** failed with **0 features** and **88 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-08-25-14-42-15/logs/labreweries.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-08-25-14-42-15/output/labreweries.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-08-25-14-42-15/output/labreweries.geojson))

Resolving patch:
diff --git a/locations/spiders/labreweries.py b/locations/spiders/labreweries.py
--- a/locations/spiders/labreweries.py
+++ b/locations/spiders/labreweries.py
@@ -92,7 +92,7 @@ def parse_store(self, response):
         properties = {
             'website': response.xpath('//head/link[@rel="canonical"]/@href').extract_first(),
             'ref': str(response.xpath('/html/body/div[1]/div[1]/header/h1/text()').extract()).strip("['']"),
-            'opening_hours': re.sub(r'\s+', ' ', response.css('#secondary').extract()[0].split('<h5>Hours</h5>')[1].replace('<br>','').replace('</aside>','').replace('\t',' ').replace('\n','').replace('\r',' ')).strip(),
+            'opening_hours': re.sub(r'\s+', ' ', response.xpath('//*[@id="content"]/div/div[2]/div[3]').extract()[0].split('<h5 class="mb-2">Hours</h5>')[1].replace('<br>','').replace('</div>','').replace('\t',' ').replace('\n','').replace('\r',' ')).strip(),
             # 'lon': float(data['geo']['longitude']),   # not lon on page
             # 'lat': float(data['geo']['latitude']),    # not lat on page
         }


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider wsp is broken
During the global build at 2021-09-01-14-42-16, spider **wsp** failed with **0 features** and **0 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-09-01-14-42-16/logs/wsp.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-09-01-14-42-16/output/wsp.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-09-01-14-42-16/output/wsp.geojson))


Discussion:

Resolving patch:
diff --git a/locations/spiders/wsp.py b/locations/spiders/wsp.py
--- a/locations/spiders/wsp.py
+++ b/locations/spiders/wsp.py
@@ -9,7 +9,7 @@ class wsp(scrapy.Spider):
     item_attributes = {'brand': "wsp"}
     allowed_domains = ["www.wsp.com"]
     start_urls = (
-        'https://www.wsp.com',
+        'https://www.wsp.com/',
     )
 
     def parse(self, response):
@@ -24,10 +24,10 @@ def parse(self, response):
             self.parse_store,
             method='POST',
             formdata=formdata,
-            )
+        )
 
     def parse_store(self, response):
-        office_data = json.loads(response.body_as_unicode())
+        office_data = json.loads(response.text)
 
         for office in office_data:
             try:
@@ -37,9 +37,9 @@ def parse_store(self, response):
                     'lat': office["Location"].split(",")[0],
                     'lon': office["Location"].split(",")[1],
                     'name': office["Name"],
-                    'website': office["MapPointURL"]
+                    'website': response.urljoin(office["MapPointURL"]),
                 }
             except IndexError:
                 continue
 
-            yield GeojsonPointItem(**properties)
\ No newline at end of file
+            yield GeojsonPointItem(**properties)


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider longhorn_steakhouse is broken
During the global build at 2021-10-20-14-42-48, spider **longhorn_steakhouse** failed with **0 features** and **0 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-10-20-14-42-48/logs/longhorn_steakhouse.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-10-20-14-42-48/output/longhorn_steakhouse.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-10-20-14-42-48/output/longhorn_steakhouse.geojson))


Discussion:

Resolving patch:
diff --git a/locations/spiders/longhorn_steakhouse.py b/locations/spiders/longhorn_steakhouse.py
--- a/locations/spiders/longhorn_steakhouse.py
+++ b/locations/spiders/longhorn_steakhouse.py
@@ -18,7 +18,7 @@ class LongHornSteakhouseSpider(scrapy.Spider):
     custom_settings = {
         'USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
     }
-    download_delay = 5
+    download_delay = 1
 
     def parse_hours(self, hours):
         opening_hours = OpeningHours()


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Builders FirstSource
https://www.bldr.com/locations


Discussion:

Resolving patch:
diff --git a/locations/spiders/builders_firstsource.py b/locations/spiders/builders_firstsource.py
new file mode 100644
--- /dev/null
+++ b/locations/spiders/builders_firstsource.py
@@ -0,0 +1,39 @@
+import json
+import scrapy
+
+from locations.items import GeojsonPointItem
+
+
+class BuildersFirstSourceSpider(scrapy.Spider):
+    name = "builders_firstsource"
+    item_attributes = {'brand': 'Builders FirstSource'}
+    allowed_domains = ['bldr-back-central.azurewebsites.net']
+
+    def start_requests(self):
+        url = "https://bldr-back-central.azurewebsites.net/umbraco/api/LocationData/GetAllLocations"
+
+        payload = "{radius: 150, DistributionList: \"\", installedServiceName: \"\"}\n"
+        # {"radius":150,"DistributionList":"","installedServiceName":""}
+        headers = {
+            'Content-Type': 'application/json',
+            'Cookie': 'ARRAffinity=2192faf4b84e1a2cbe60224d6bf89c9f255ed7b693d5e04a43de12ab1a54868a; ARRAffinitySameSite=2192faf4b84e1a2cbe60224d6bf89c9f255ed7b693d5e04a43de12ab1a54868a'
+        }
+
+        yield scrapy.Request(url=url, callback=self.parse, method="POST", headers=headers, body=payload)
+
+    def parse(self, response):
+        jsonData = json.loads(response.text)
+        for i in jsonData:
+            properties = {
+                'name': i["Name"],
+                'ref': i["Id"],
+                'addr_full': i["Address1"]+" "+i["Address2"],
+                'city': i["City"],
+                'state': i["State"],
+                'postcode': i["ZipCode"],
+                'country': "US",
+                'phone': i["PhoneNo"],
+                'lat': i["Latitude"],
+                'lon': i["Longitude"],
+            }
+            yield GeojsonPointItem(**properties)
\ No newline at end of file


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Primrose Schools
https://www.primroseschools.com/


Discussion:

Resolving patch:
diff --git a/locations/spiders/primrose_schools.py b/locations/spiders/primrose_schools.py
new file mode 100644
--- /dev/null
+++ b/locations/spiders/primrose_schools.py
@@ -0,0 +1,49 @@
+import json
+
+import scrapy
+
+from locations.items import GeojsonPointItem
+
+class PrimroseSchoolsSpider(scrapy.Spider):
+    name = "primrose_schools"
+    item_attributes = {'brand': 'Primrose Schools'}
+    allowed_domains = ["primroseschools.com"]
+
+    start_urls = ([
+        'https://www.primroseschools.com/find-a-school/'
+    ])
+
+    def parse(self, response):
+        with open('./locations/searchable_points/us_centroids_50mile_radius.csv') as points:
+            next(points)
+            for point in points:
+                row = point.replace('\n', '').split(',')
+                lati = row[1]
+                long = row[2]
+                searchurl = 'https://www.primroseschools.com/find-a-school/?search_string=USA&latitude={la}&longitude={lo}'.format(la=lati, lo=long)
+                yield scrapy.Request(response.urljoin(searchurl), callback=self.parse_search)
+
+    def parse_search(self, response):
+        content = response.xpath('//script[@type="application/json"]/text()').get()
+        schools = json.loads(content)
+        for i in schools:
+            if i["address_1"]:
+                properties = {
+                    'name': i["name"],
+                    'addr_full': i["address_1"] + " " + i["address_2"],
+                    'city': i["city"],
+                    'state': i["state"],
+                    'postcode': i["zip_code"],
+                    'phone': i["phone"],
+                    'ref': i['id'],
+                    'website': "https://www.primroseschools.com" + i["url"],
+                    'lat': float(i["latitude"]),
+                    'lon': float(i["longitude"]),
+                }
+                yield GeojsonPointItem(**properties)
+
+
+
+
+
+


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
United Surgical Partners International
https://uspi.com/locations/default.aspx

https://webwidgets.q4api.com/v1/fusion?sql=SELECT%20*%20FROM%201MgAq-T0B9gtHKnM0RbfBi8xeJRwmCQftIEvcNdY0Olw&key=AIzaSyBjtj8mMa96IpYNmDjwH-EbmMT3RpeU6ao


Discussion:

Resolving patch:
diff --git a/locations/spiders/united_surgical_partners_international.py b/locations/spiders/united_surgical_partners_international.py
new file mode 100644
--- /dev/null
+++ b/locations/spiders/united_surgical_partners_international.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+import json
+
+import scrapy
+
+from locations.items import GeojsonPointItem
+
+
+class United_surgical_partners_internationalSpider(scrapy.Spider):
+    name = "united_surgical_partners_international"
+    item_attributes = {'brand': 'United Surgical Partners International'}
+    allowed_domains = ["uspi.com"]
+    start_urls = [
+        'https://webwidgets.q4api.com/v1/fusion?sql=SELECT%20*%20FROM%201MgAq-T0B9gtHKnM0RbfBi8xeJRwmCQftIEvcNdY0Olw&key=AIzaSyBjtj8mMa96IpYNmDjwH-EbmMT3RpeU6ao',
+    ]
+
+    def parse(self, response):
+        data = json.loads(response.body_as_unicode())["rows"]
+
+        for i, item in enumerate(data):
+            if len(item) == 12:
+                website = item[11]
+            else:
+                website = 'na'
+            properties = {
+                'name': item[0],
+                'addr_full': item[3] + " " + item[4],
+                'city': item[5],
+                'state': item[6],
+                'postcode': item[7],
+                'phone': item[10],
+                'ref': item[0] + ", " + item[5] + ", " + item[6],
+                'website': website,
+                'lat': item[8],
+                'lon': item[9],
+            }
+            yield GeojsonPointItem(**properties)
\ No newline at end of file


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Clinical Pathology Laboratories
https://www.cpllabs.com/locations/


Discussion:

Resolving patch:
diff --git a/locations/spiders/clinical_pathology_laboratories.py b/locations/spiders/clinical_pathology_laboratories.py
new file mode 100644
--- /dev/null
+++ b/locations/spiders/clinical_pathology_laboratories.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+import json
+import re
+
+import scrapy
+
+from locations.items import GeojsonPointItem
+from locations.hours import OpeningHours
+
+
+class Clinical_pathology_laboratoriesSpider(scrapy.Spider):
+    name = "clinical_pathology_laboratories"
+    item_attributes = {'brand': 'Clinical Pathology Laboratories, Inc.'}
+    allowed_domains = ["cpllabs.com"]
+    start_urls = [
+        'https://www.zeemaps.com/emarkers?g=3025292&k=REGULAR&e=true&_dc=0.9710587730049409',
+    ]
+
+    def parse(self, response):
+        data = json.loads(response.body_as_unicode())
+        for i, item in enumerate(data):
+            properties = {
+                'name': item['nm'],
+                'addr_full': item['s'],
+                'city': item['city'],
+                'state': item['state'],
+                'postcode': item['zip'],
+                'country': 'US',
+                'ref': item['id'],
+                'website': 'na',
+                'lat': item['lat'],
+                'lon': item['lng'],
+            }
+            yield GeojsonPointItem(**properties)
+


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider scooters_coffee is broken
During the global build at 2021-06-23-14-42-18, spider **scooters_coffee** failed with **324 features** and **1 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-06-23-14-42-18/logs/scooters_coffee.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-06-23-14-42-18/output/scooters_coffee.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-06-23-14-42-18/output/scooters_coffee.geojson))


Discussion:
During the global build at 2021-08-04-14-42-45, spider **scooters_coffee** failed with **324 features** and **1 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/logs/scooters_coffee.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/output/scooters_coffee.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/output/scooters_coffee.geojson))

Resolving patch:
diff --git a/locations/spiders/scooters_coffee.py b/locations/spiders/scooters_coffee.py
--- a/locations/spiders/scooters_coffee.py
+++ b/locations/spiders/scooters_coffee.py
@@ -35,6 +35,7 @@ def parse_hours(self, hours):
             if open_close == 'C':
                 continue
             else:
+                open_close = open_close.replace(' ', '')
                 open_time, close_time = open_close.split('-')
                 opening_hours.add_range(day=DAY_MAPPING[day], open_time=open_time, close_time=close_time, time_format='%I:%M%p')
 


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider northern_california_breweries is broken
During the global build at 2021-06-23-14-42-18, spider **northern_california_breweries** failed with **0 features** and **1 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-06-23-14-42-18/logs/northern_california_breweries.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-06-23-14-42-18/output/northern_california_breweries.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-06-23-14-42-18/output/northern_california_breweries.geojson))


Discussion:

Resolving patch:
diff --git a/locations/spiders/northern_california_breweries.py b/locations/spiders/northern_california_breweries.py
--- a/locations/spiders/northern_california_breweries.py
+++ b/locations/spiders/northern_california_breweries.py
@@ -18,10 +18,19 @@ def parse(self, response):
       breweryList = json.loads(jsonData)
 
       for item in breweryList:
+        latitude = None
+        longitude = None
+
+        if item.get('Latitude') is not None:
+          latitude = float(item.get('Latitude'))
+
+        if item.get('Longitude') is not None:
+          longitude = float(item.get('Longitude'))
+        
         yield GeojsonPointItem(
           ref=item.get('Brewery'),
-          lat=float(item.get('Latitude')),
-          lon=float(item.get('Longitude')),
+          lat=latitude,
+          lon=longitude,
           addr_full=item.get('Address'),
           city=item.get('City'),
           state="CA",


Test patch:
Repository: alltheplaces/alltheplaces

Issue:
Spider superonefoods is broken
During the global build at 2021-09-22-14-42-27, spider **superonefoods** failed with **0 features** and **1 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-09-22-14-42-27/logs/superonefoods.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-09-22-14-42-27/output/superonefoods.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-09-22-14-42-27/output/superonefoods.geojson))


Discussion:

Resolving patch:
diff --git a/locations/spiders/superonefoods.py b/locations/spiders/superonefoods.py
--- a/locations/spiders/superonefoods.py
+++ b/locations/spiders/superonefoods.py
@@ -15,7 +15,7 @@ class SuperonefoodsSpider(scrapy.Spider):
 
     def parse(self, response):
         # retrieve js data variable from script tag
-        items = response.xpath('//script/text()')[3].re("var stores =(.+?);\n")
+        items = response.xpath('//script/text()')[4].re("var stores =(.+?);\n")
 
         # convert data variable from unicode to string
         items = [str(x) for x in items]


Test patch: