sunsexsurf

energotransbank

May 2nd, 2020
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. import re
  2. import requests as req
  3. from bs4 import BeautifulSoup as bs
  4. import time
  5. import logging
  6.  
  7. base_url = ['https://energotransbank.com/private/precious_coins/yubileynye-monety/']
  8.  
  9. def parser(url):
  10.     for i in url:
  11.         print(i)
  12.         resp = req.get(i)
  13.         print(resp)
  14.         retry_counter = 10
  15.         while resp.status_code != 200:
  16.             print(resp)
  17.             time.sleep(60)
  18.             resp = req.get(i)
  19.             retry_counter -= 1
  20.             if retry_counter == 0:
  21.                 break
  22.  
  23.  
  24.         html = resp.text
  25.         # print(html)
  26.         soup = bs(html, 'lxml')
  27.         # print(soup)
  28.         cont = []
  29.  
  30.         for i in soup.find('div', class_= 'coins').find_all('a', class_ = 'coin-link'):
  31.             # print(i)
  32.             time.sleep(10)
  33.             id = i['data-id']
  34.             local_url = 'https://energotransbank.com/ajax/coins_popup.php?id='
  35.             local_html = req.get(local_url+id).text
  36.             re_cat = re.compile(r"(\d{4}-\d{4})", re.DOTALL)
  37.             re_price = re.compile(r"(\d*\s?\d*?)\s?руб\.", re.DOTALL)
  38.             cat_number = re_cat.findall(local_html)
  39.             if len(cat_number) > 1:
  40.                 if cat_number[0] == cat_number[1]:
  41.                     cat_number = cat_number[0]
  42.             else:
  43.                 cat_number = cat_number[0]
  44.             price = re_price.findall(local_html)[0]
  45.             price = float(price.replace(' ',''))
  46.             print(id)
  47.             print(cat_number, price)
  48.             cont.append({"sell": [{"cat_number": cat_number, "price": price}]})
  49.  
  50.  
  51.  
  52.  
  53.         print(cont)
  54.  
  55.  
  56. parser(base_url)
Add Comment
Please, Sign In to add comment