jagata

Untitled

Jul 9th, 2020 (edited)
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.92 KB | None | 0 0
  1. import sqlite3
  2. import requests
  3. from bs4 import BeautifulSoup
  4.  
  5.  
  6.  
  7. r = requests.get('https://www.myauto.ge/ka/s/00/0/3/00/00/00/00/bmw?stype=0&marka=3&currency_id=3&det_search=0&ord=7&category_id=m0&keyword=')
  8. c = r.content
  9. soup = BeautifulSoup(c, "html.parser")
  10. rows = soup.find_all("div",{"class": "current-item-inner"})
  11. carinfolist = []
  12. for item in rows:
  13.     name = item.find("div", {"class":"car-name-left"}).text.strip().split(" ")
  14.     fullname = name[1] + " " +name[2]
  15.     price = []
  16.     try:
  17.         prices = item.find_all("span", {"class": "car-price"})
  18.         lari = prices[0].text
  19.         dolari = prices[1].text.strip()
  20.  
  21.         price.append([lari,dolari])
  22.  
  23.     except:
  24.         price.append("ფასი შეთანხმებით")
  25.     carinfolist.append([fullname, price])
  26.  
  27.  
  28. def create_db_tble() -> None:
  29.  
  30.  
  31.     conn = sqlite3.connect('carinfoDB.db')
  32.     cursor = conn.cursor()
  33.  
  34.     _SQL = 'CREATE TABLE IF NOT EXISTS carinfo(ID INTEGER  PRIMARY KEY AUTOINCREMENT, Carname TEXT, lari TEXT, dolari TEXT)'
  35.     cursor.execute(_SQL)
  36.     conn.commit()
  37.     cursor.close()
  38.     conn.close()
  39.  
  40. def insert_carinfo(carname: str, lari: str, dolari: str) -> None:
  41.     conn = sqlite3.connect('carinfoDB.db')
  42.     cursor = conn.cursor()
  43.  
  44.     _SQL = 'INSERT INTO carinfo(Carname,lari,dolari) VALUES(?,?,?)'
  45.  
  46.     cursor.execute(_SQL, (carname,lari,dolari))
  47.  
  48.     conn.commit()
  49.     cursor.close()
  50.     conn.close()
  51.  
  52.  
  53. def delete_carinfo(ID: int) ->None:
  54.     conn = sqlite3.connect('carinfoDB.db')
  55.     cursor = conn.cursor()
  56.  
  57.     _SQL = 'DELETE FROM carinfo WHERE ID = ?'
  58.  
  59.     cursor.execute(_SQL,(ID, ))
  60.  
  61.     conn.commit()
  62.     cursor.close()
  63.     conn.close()
  64.  
  65. def view_carinfo():
  66.     conn = sqlite3.connect('carinfoDB.db')
  67.     cursor = conn.cursor()
  68.  
  69.     _SQL = 'SELECT * FROM carinfo'
  70.  
  71.     cursor.execute(_SQL)
  72.  
  73.     data = cursor.fetchall()
  74.  
  75.  
  76.     for index, item in enumerate(data):
  77.         print(str(index + 1) + '. ' + str(item))
  78.  
  79.  
  80.     cursor.close()
  81.     conn.close()
  82.  
  83.  
  84. create_db_tble()
  85.  
  86.  
  87. def options_menu() -> str:
  88.     print('\nStudents database program')
  89.  
  90.     print('1.Insert carinfo')
  91.  
  92.     print('2.delete carinfo')
  93.  
  94.     print('3.view carinfo')
  95.  
  96.     print('enter q to exit\n')
  97.  
  98.     opt = input("please choose option: ")
  99.     return opt
  100.  
  101. option = options_menu()
  102.  
  103. while option != 'q':
  104.     if option == '1':
  105.         for a in carinfolist:
  106.             if(len(a[1][0]) == 2):
  107.                 insert_carinfo(a[0], a[1][0][0],a[1][0][1])
  108.             else:
  109.                 insert_carinfo(a[0], a[1][0],a[1][0])
  110.         option = options_menu()
  111.  
  112.     elif option == '2':
  113.         view_carinfo()
  114.  
  115.         ID = int(input("\nplease choose student ID: "))
  116.         option = options_menu()
  117.  
  118.         delete_carinfo(ID)
  119.     elif option == '3':
  120.         view_carinfo()
  121.         option = options_menu()
  122.     else:
  123.         print('please choose correct option!')
  124.         option = options_menu()
Add Comment
Please, Sign In to add comment