uk_bin_collection 0.152.7__py3-none-any.whl → 0.152.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,6 +28,8 @@ class CouncilClass(AbstractGetBinDataClass):
28
28
  headers = {
29
29
  "Origin": "https://www.centralbedfordshire.gov.uk",
30
30
  "Referer": "https://www.centralbedfordshire.gov.uk/info/163/bins_and_waste_collections_-_check_bin_collection_day",
31
+
32
+ "User-Agent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.7968.1811 Mobile Safari/537.36",
31
33
  }
32
34
 
33
35
  files = {
@@ -22,6 +22,15 @@ class CouncilClass(AbstractGetBinDataClass):
22
22
  "Next brown bin collection": "Brown Bin",
23
23
  "Next food bin collection": "Food Bin",
24
24
  }
25
+ HEADERS = {
26
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
27
+ "Accept-Language": "en-GB,en;q=0.9",
28
+ "Connection": "keep-alive",
29
+ "Host": "www.midlothian.gov.uk",
30
+ "Referer": "https://www.midlothian.gov.uk/info/200284/bins_and_recycling",
31
+ "Upgrade-Insecure-Requests": "1",
32
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
33
+ }
25
34
 
26
35
  def parse_data(self, page: str, **kwargs) -> dict:
27
36
 
@@ -46,7 +55,7 @@ class CouncilClass(AbstractGetBinDataClass):
46
55
  search_url = self.DIRECTORY_URL.format(quote(postcode))
47
56
 
48
57
  try:
49
- search_results_html = requests.get(search_url)
58
+ search_results_html = requests.get(search_url, headers=self.HEADERS)
50
59
  search_results_html.raise_for_status()
51
60
 
52
61
  soup = BeautifulSoup(search_results_html.text, "html.parser")
@@ -93,7 +102,7 @@ class CouncilClass(AbstractGetBinDataClass):
93
102
  next_page_url = next_page_link["href"]
94
103
 
95
104
  # Send a GET request to the next page
96
- next_response = requests.get(next_page_url)
105
+ next_response = requests.get(next_page_url, headers=self.HEADERS)
97
106
  next_response.raise_for_status() # Raise an exception for HTTP errors
98
107
 
99
108
  # Parse the HTML content of the next page
@@ -116,7 +125,7 @@ class CouncilClass(AbstractGetBinDataClass):
116
125
  def _fetch_bin_collection_data(self, url: str) -> list:
117
126
  """Fetch and parse bin collection data from the given URL."""
118
127
  try:
119
- bin_collection_html = requests.get(url)
128
+ bin_collection_html = requests.get(url, headers=self.HEADERS)
120
129
  bin_collection_html.raise_for_status()
121
130
 
122
131
  soup = BeautifulSoup(bin_collection_html.text, "html.parser")
@@ -23,7 +23,8 @@ class CouncilClass(AbstractGetBinDataClass):
23
23
  URI = f"https://www.newcastle-staffs.gov.uk/homepage/97/check-your-bin-day?uprn={user_uprn}"
24
24
 
25
25
  # Make the GET request
26
- response = requests.get(URI)
26
+ request_headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
27
+ response = requests.get(URI, headers=request_headers)
27
28
  response.raise_for_status()
28
29
  soup = BeautifulSoup(response.text, features="html.parser")
29
30
  soup.prettify()
@@ -22,12 +22,18 @@ class CouncilClass(AbstractGetBinDataClass):
22
22
  check_paon(user_paon)
23
23
  bindata = {"bins": []}
24
24
 
25
+ headers = {
26
+ "Origin": "https://www.royalgreenwich.gov.uk/",
27
+ "Referer": "https://www.royalgreenwich.gov.uk/info/200171/recycling_and_rubbish/100/bin_collection_days",
28
+ "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64)",
29
+ }
30
+
25
31
  user_postcode = user_postcode.replace(" ", "+")
26
32
 
27
33
  URI = f"https://www.royalgreenwich.gov.uk/site/custom_scripts/apps/waste-collection/new2023/source.php?term={user_postcode}"
28
34
 
29
35
  # Make the GET request
30
- response = requests.get(URI)
36
+ response = requests.get(URI, headers=headers)
31
37
 
32
38
  for address in response.json():
33
39
  if user_paon in address:
@@ -38,7 +44,7 @@ class CouncilClass(AbstractGetBinDataClass):
38
44
 
39
45
  data = {"address": collection_address}
40
46
 
41
- response = requests.post(URI, data=data)
47
+ response = requests.post(URI, data=data, headers=headers)
42
48
 
43
49
  response = response.json()
44
50
 
@@ -22,9 +22,10 @@ class CouncilClass(AbstractGetBinDataClass):
22
22
  bindata = {"bins": []}
23
23
 
24
24
  URI = f"https://www.swindon.gov.uk/info/20122/rubbish_and_recycling_collection_days?addressList={user_uprn}&uprnSubmit=Yes"
25
+ headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64)"}
25
26
 
26
27
  # Make the GET request
27
- response = requests.get(URI)
28
+ response = requests.get(URI, headers=headers)
28
29
 
29
30
  # Parse the JSON response
30
31
  soup = BeautifulSoup(response.text, "html.parser")
@@ -42,12 +42,12 @@ class CouncilClass(AbstractGetBinDataClass):
42
42
  wait = WebDriverWait(driver, 60)
43
43
  address_entry_field = wait.until(
44
44
  EC.presence_of_element_located(
45
- (By.XPATH, '//*[@id="combobox-input-22"]')
45
+ (By.XPATH, '//*[@id="combobox-input-23"]')
46
46
  )
47
47
  )
48
48
 
49
49
  address_entry_field = wait.until(
50
- EC.element_to_be_clickable((By.XPATH, '//*[@id="combobox-input-22"]'))
50
+ EC.element_to_be_clickable((By.XPATH, '//*[@id="combobox-input-23"]'))
51
51
  )
52
52
  address_entry_field.click()
53
53
  address_entry_field.send_keys(str(full_address))
@@ -56,7 +56,7 @@ class CouncilClass(AbstractGetBinDataClass):
56
56
 
57
57
  first_found_address = wait.until(
58
58
  EC.element_to_be_clickable(
59
- (By.XPATH, '//*[@id="dropdown-element-22"]/ul')
59
+ (By.XPATH, '//*[@id="dropdown-element-23"]/ul')
60
60
  )
61
61
  )
62
62
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uk_bin_collection
3
- Version: 0.152.7
3
+ Version: 0.152.8
4
4
  Summary: Python Lib to collect UK Bin Data
5
5
  Author: Robert Bradley
6
6
  Author-email: robbrad182@gmail.com
@@ -39,7 +39,7 @@ uk_bin_collection/uk_bin_collection/councils/BasildonCouncil.py,sha256=NymPmq5pu
39
39
  uk_bin_collection/uk_bin_collection/councils/BasingstokeCouncil.py,sha256=VPWGljnH4C3q8qs5ZmCtqjNjgWQvviALzjk00q3EZeQ,2632
40
40
  uk_bin_collection/uk_bin_collection/councils/BathAndNorthEastSomersetCouncil.py,sha256=N_TPiIv8VBzN3rY0p3JtLlxSEru-6k1wW4UNIhN5X1M,3709
41
41
  uk_bin_collection/uk_bin_collection/councils/BedfordBoroughCouncil.py,sha256=CvGB7w9HMn7XyEtwfd9MWZE_HlZ75pDcaKMsQJz0xhk,1669
42
- uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py,sha256=U1HOr9YLMAlFoZysfw5n04E0bVuCliO5Yj1FMiiwcHA,2549
42
+ uk_bin_collection/uk_bin_collection/councils/BedfordshireCouncil.py,sha256=aCwDVb1z3_KVPL8XcvJG94Tzp2CZM8n5pu8MGM8mv1o,2725
43
43
  uk_bin_collection/uk_bin_collection/councils/BelfastCityCouncil.py,sha256=SGOv9mm3fByyR3TQDyNcSLeidX_7FlHelkxnh-NUTcY,4327
44
44
  uk_bin_collection/uk_bin_collection/councils/BexleyCouncil.py,sha256=WXrrlMYxvYWtKUiLV6ZxJy4RRCIr1CCETfrJTdq3faQ,5306
45
45
  uk_bin_collection/uk_bin_collection/councils/BirminghamCityCouncil.py,sha256=now2xgpfshYM33UWC18j6xa6BuBydO5Sl7OrDQOo6b0,4687
@@ -197,7 +197,7 @@ uk_bin_collection/uk_bin_collection/councils/MidSuffolkDistrictCouncil.py,sha256
197
197
  uk_bin_collection/uk_bin_collection/councils/MidSussexDistrictCouncil.py,sha256=AZgC9wmDLEjUOtIFvf0ehF5LHturXTH4DkE3ioPSVBA,6254
198
198
  uk_bin_collection/uk_bin_collection/councils/MidUlsterDistrictCouncil.py,sha256=ev_T8LoI9tZzkymmAD9yEk2leKc4Y0Cqsde56aAJPa8,5114
199
199
  uk_bin_collection/uk_bin_collection/councils/MiddlesbroughCouncil.py,sha256=BiYexiZj-9PxRnB7sYRy0G-72s3L9jfh2vd1Y2NQwtg,4223
200
- uk_bin_collection/uk_bin_collection/councils/MidlothianCouncil.py,sha256=-VKvdIhrs859-YqxsNMzRWm2alP1avBR1_J8O9gJnYw,6725
200
+ uk_bin_collection/uk_bin_collection/councils/MidlothianCouncil.py,sha256=TW4U63T5-n0l-786gMTfPm7oxivHhRHEIG6NCeV84Zo,7304
201
201
  uk_bin_collection/uk_bin_collection/councils/MiltonKeynesCityCouncil.py,sha256=7e2pGBLCw24pNItHeI9jkxQ3rEOZ4WC4zVlbvKYGdXE,2600
202
202
  uk_bin_collection/uk_bin_collection/councils/MoleValleyDistrictCouncil.py,sha256=xWR5S0gwQu9gXxjl788Wux1KaC0CT7ZFw0iXuRLZCEM,5599
203
203
  uk_bin_collection/uk_bin_collection/councils/MonmouthshireCountyCouncil.py,sha256=PC2tui10S-DXmiKUqXZun5MInIgqqQjtT5wII1K_9a0,2532
@@ -206,7 +206,7 @@ uk_bin_collection/uk_bin_collection/councils/NeathPortTalbotCouncil.py,sha256=p9
206
206
  uk_bin_collection/uk_bin_collection/councils/NewForestCouncil.py,sha256=Vdmv_p75OJwSeltWE5wZhE8wy5XW0CIKIn1cKNvI0pQ,5336
207
207
  uk_bin_collection/uk_bin_collection/councils/NewarkAndSherwoodDC.py,sha256=lAleYfCGUWCKOi7Ye_cjgfpI3pWwTcFctlYmh0hjebM,2140
208
208
  uk_bin_collection/uk_bin_collection/councils/NewcastleCityCouncil.py,sha256=eJMX10CG9QO7FRhHSmUDL-jO_44qoK3_1ztNTAXhkbw,2085
209
- uk_bin_collection/uk_bin_collection/councils/NewcastleUnderLymeCouncil.py,sha256=t150wPtF2eEFYNTVj2EnhXt6JJJRiEX8976bh9JBXlg,2328
209
+ uk_bin_collection/uk_bin_collection/councils/NewcastleUnderLymeCouncil.py,sha256=feuQnAG80xVojQlUBLh8wjVPVU6yLZ6sQKKjfHBKIl8,2514
210
210
  uk_bin_collection/uk_bin_collection/councils/NewhamCouncil.py,sha256=zlkKm28E6zIRknAbyLeSd5LNeRctqlZ-2MIrAsdaqHg,2260
211
211
  uk_bin_collection/uk_bin_collection/councils/NewportCityCouncil.py,sha256=dAcl5P97bttl2xCPvxof1a18kmqOrMmiElgtn3Ej7zs,8480
212
212
  uk_bin_collection/uk_bin_collection/councils/NorthAyrshireCouncil.py,sha256=o8zv40Wt19d51mrN5lsgLMCKMokMPmI1cMHBNT5yAho,1976
@@ -247,7 +247,7 @@ uk_bin_collection/uk_bin_collection/councils/RochdaleCouncil.py,sha256=UTSwSw515
247
247
  uk_bin_collection/uk_bin_collection/councils/RochfordCouncil.py,sha256=rfhD66A9HfHL46ldF9sbxvV7fPaaoNxzIJbHjVT6A90,2621
248
248
  uk_bin_collection/uk_bin_collection/councils/RotherDistrictCouncil.py,sha256=-fdLvtik9ytfwXrrhwWdBxqQOMq2N1pvrIuvShhf8PU,3090
249
249
  uk_bin_collection/uk_bin_collection/councils/RotherhamCouncil.py,sha256=dfAqXtmbptHGZGGWkurjY9snaVm1aH5CGjhzdtoe4JM,2058
250
- uk_bin_collection/uk_bin_collection/councils/RoyalBoroughofGreenwich.py,sha256=BZzLmWK_VONOmMpSrLrnKtJaOrrepm6aStfKGVcgf9Y,3487
250
+ uk_bin_collection/uk_bin_collection/councils/RoyalBoroughofGreenwich.py,sha256=AziuKhP6wKu_316MA4xXRN-ayDU6RSB21EfSWjmMqU8,3800
251
251
  uk_bin_collection/uk_bin_collection/councils/RugbyBoroughCouncil.py,sha256=WlmOD-xHJFdowI9fGuGDHOpnAVHGUWxGZqmJ6z4fGXs,5687
252
252
  uk_bin_collection/uk_bin_collection/councils/RunnymedeBoroughCouncil.py,sha256=vmTZfijt9b6sKzRdRwROE94lrMVnqs6kn6tg-xi1jR4,1618
253
253
  uk_bin_collection/uk_bin_collection/councils/RushcliffeBoroughCouncil.py,sha256=nWo8xeER71FEbnMTX8W9bcwZNpLEExWzPvgRT7DmcMc,4221
@@ -292,7 +292,7 @@ uk_bin_collection/uk_bin_collection/councils/SunderlandCityCouncil.py,sha256=Eya
292
292
  uk_bin_collection/uk_bin_collection/councils/SurreyHeathBoroughCouncil.py,sha256=MROVvf7RSRYYjM2ZDD83rAEwf8BSnqXVrasgBiJC92A,5220
293
293
  uk_bin_collection/uk_bin_collection/councils/SwaleBoroughCouncil.py,sha256=FuQGlPaiFxfQS3KzkyrvcuTaVb8VkwdWYgjm42FfUt8,5762
294
294
  uk_bin_collection/uk_bin_collection/councils/SwanseaCouncil.py,sha256=nmVPoPhnFgVi--vczX2i4Sf3bqM5RWJuwfhioRUr5XE,2303
295
- uk_bin_collection/uk_bin_collection/councils/SwindonBoroughCouncil.py,sha256=lSIykpkBjVwQSf3rrnrNuh7YRepgnkKQLbf1iErMuJs,1932
295
+ uk_bin_collection/uk_bin_collection/councils/SwindonBoroughCouncil.py,sha256=T9xWZ9eHjB-U1Eh-f5iEcba3S86jAqJY-OVo5uJlueY,2026
296
296
  uk_bin_collection/uk_bin_collection/councils/TamesideMBCouncil.py,sha256=k2TAAZG7n2S1BWVyxbE_-4-lZuzhOimCNz4yimUCOGk,1995
297
297
  uk_bin_collection/uk_bin_collection/councils/TandridgeDistrictCouncil.py,sha256=KLVvM2NNq_DQylVe5dwO2l7qPahLHg08jJGLCv1MBQ4,2324
298
298
  uk_bin_collection/uk_bin_collection/councils/TeignbridgeCouncil.py,sha256=-NowMNcxsnktzUxTk-XUfzFJgXKSSerCmdZ7cN4cE1s,2703
@@ -327,7 +327,7 @@ uk_bin_collection/uk_bin_collection/councils/WestLindseyDistrictCouncil.py,sha25
327
327
  uk_bin_collection/uk_bin_collection/councils/WestLothianCouncil.py,sha256=dq0jimtARvRkZiGbVFrXXZgY-BODtz3uYZ5UKn0bf64,4114
328
328
  uk_bin_collection/uk_bin_collection/councils/WestMorlandAndFurness.py,sha256=jbqV3460rn9D0yTBGWjpSe1IvWWcdGur5pzgj-hJcQ4,2513
329
329
  uk_bin_collection/uk_bin_collection/councils/WestNorthamptonshireCouncil.py,sha256=Se3Cfn_6ADjhsUzEJI_JnGkVcIbXxSTferM4ZC6pZ0g,1166
330
- uk_bin_collection/uk_bin_collection/councils/WestOxfordshireDistrictCouncil.py,sha256=Cicz5ywn7YD-g4yiRxp5TGLuJFPBatw6y4mS_pBkblo,4858
330
+ uk_bin_collection/uk_bin_collection/councils/WestOxfordshireDistrictCouncil.py,sha256=LLgpBE-yZFTpyZ5StGPVYtiBGxzttZt4f4YEqiYqocE,4858
331
331
  uk_bin_collection/uk_bin_collection/councils/WestSuffolkCouncil.py,sha256=9i8AQHh-qIRPZ_5Ad97_h04-qgyLQDPV064obBzab1Y,2587
332
332
  uk_bin_collection/uk_bin_collection/councils/WiganBoroughCouncil.py,sha256=W9FGN47bTHvzARa6UInXEB3X6cToqfgzTkNlROzHgcM,3743
333
333
  uk_bin_collection/uk_bin_collection/councils/WiltshireCouncil.py,sha256=Q0ooHTQb9ynMXpSNBPk7XXEjI7zcHst3id4wxGdmVx4,5698
@@ -346,8 +346,8 @@ uk_bin_collection/uk_bin_collection/councils/YorkCouncil.py,sha256=I2kBYMlsD4bId
346
346
  uk_bin_collection/uk_bin_collection/councils/council_class_template/councilclasstemplate.py,sha256=QD4v4xpsEE0QheR_fGaNOIRMc2FatcUfKkkhAhseyVU,1159
347
347
  uk_bin_collection/uk_bin_collection/create_new_council.py,sha256=m-IhmWmeWQlFsTZC4OxuFvtw5ZtB8EAJHxJTH4O59lQ,1536
348
348
  uk_bin_collection/uk_bin_collection/get_bin_data.py,sha256=YvmHfZqanwrJ8ToGch34x-L-7yPe31nB_x77_Mgl_vo,4545
349
- uk_bin_collection-0.152.7.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
350
- uk_bin_collection-0.152.7.dist-info/METADATA,sha256=a85PSabORrNpgMeGeNwj8ZsL45LGVVoqcRBW3n6bfUc,26688
351
- uk_bin_collection-0.152.7.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
352
- uk_bin_collection-0.152.7.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
353
- uk_bin_collection-0.152.7.dist-info/RECORD,,
349
+ uk_bin_collection-0.152.8.dist-info/LICENSE,sha256=vABBUOzcrgfaTKpzeo-si9YVEun6juDkndqA8RKdKGs,1071
350
+ uk_bin_collection-0.152.8.dist-info/METADATA,sha256=65RZCpwR0rNuGpZwSk7rqdJkr5TL0MLHFdiD-tPLNHc,26688
351
+ uk_bin_collection-0.152.8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
352
+ uk_bin_collection-0.152.8.dist-info/entry_points.txt,sha256=36WCSGMWSc916S3Hi1ZkazzDKHaJ6CD-4fCEFm5MIao,90
353
+ uk_bin_collection-0.152.8.dist-info/RECORD,,