Carson1

Untitled

Jun 8th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.90 KB | None | 0 0
  1. import requests
  2. from bs4 import BeautifulSoup
  3. import re
  4. class analyssaita:
  5.     def __init__(self):
  6.         self.page = requests.get('https://www.pkmpei.ru/')
  7.         self.soup = BeautifulSoup(self.page.text, 'html.parser')
  8.     def timetable(self):
  9.         timetable1 = []
  10.         timetable2 = []
  11.         timetable3 = []
  12.         timetable4 = []
  13.         self.timetable = dict()
  14.         s = ''
  15.         l = 0
  16.         timetable = str(self.soup.find(class_='title2'))
  17.         timetable = re.split('; ', timetable)
  18.         for i in timetable:
  19.             if 'left' in i or 'center' in i:
  20.                 timetable1.append(i)
  21.         for i in timetable1:
  22.             if '<b>' in i:
  23.                 timetable2.append(i)
  24.                 timetable2 = re.split(';', str(timetable2))
  25.                 for i in timetable2:
  26.                     if '"><b>' in i:
  27.                         start = '"><b>'
  28.                         end = '</b></td>\\n<td style="text-align: center'
  29.                         i = i[i.find(start)+len(start):i.rfind(end)]
  30.                         timetable3.append(i)
  31.                 for i in timetable2:
  32.                     if '\\xa0' in i:
  33.                         if 'Выходной' in i:
  34.                             i = 'Выходной'
  35.                         else:
  36.                             i = re.findall('\d+', i)
  37.                             for j in range(len(i) - 2):
  38.                                 if i[j] == '0':
  39.                                     del i[j]
  40.                                 elif i[j] == '010':
  41.                                     i[j] = '10'
  42.                                 elif i[-1] == '0':
  43.                                     del i[-1]
  44.                         i = ''.join(map(str, i))
  45.                         timetable4.append(i)
  46.                 for i in range(len(timetable4)):
  47.                     if timetable4[i] == '010001700':
  48.                         timetable4[i] = '10:00 - 17:00'
  49.                     elif timetable4[i] == '10001700':
  50.                         timetable4[i] = '10:00 - 17:00'
  51.                     elif timetable4[i] == '10001600':
  52.                         timetable4[i] = '10:00 - 16:00'
  53.         for i in range(len(timetable3)):
  54.             self.timetable[l] = timetable3[i] + ': ' + timetable4[i]
  55.             l = l +1
  56.         print(self.timetable)
  57.     def adress(self):
  58.         adress = str(self.soup(class_="text"))
  59.         start = 'Наш адрес'
  60.         end = '/><br/><h1'
  61.         adress = adress[adress.find(start)+len(start):adress.rfind(end)]
  62.         start1 = '<div style="text-align: left;">'
  63.         end1 = ', аудитория Б-209<br'
  64.         adress1 = adress[adress.find(start1)+len(start1):adress.rfind(end1)]
  65.         print(adress1)
  66.         start2 = '<div style="text-align: left;">'
  67.         end2 = '<br'
  68.         self.adress2 = adress[adress.find(start2)+len(start2):adress.rfind(end2)]
  69.         adress1 =adress1.replace(' ', '')
  70.         self.adress1 = 'https://www.google.com/search?q=' + adress1
  71.         print(self.adress1)
  72.     def contactniedannie(self):
  73.         contactniedannie = str(self.soup(class_="text"))
  74.         start = 'Контактные данные'
  75.         end = '</span><br/> </b></b>'
  76.         start1 = '</h1> <br/> <b>'
  77.         end1 = '<b><br/>'
  78.         contactniedannie = contactniedannie[contactniedannie.find(start)+len(start):contactniedannie.rfind(end)] + 'JFKLDSJFLSD'
  79.         self.telefon = contactniedannie[contactniedannie.find(start1)+len(start1):contactniedannie.rfind(end1)]
  80.         print(self.telefon)
  81.         start3 = '<span style="color: rgb(0, 0, 255);">'
  82.         end3 = 'JFKLDSJFLSD'
  83.         self.email = 'e-mail: ' + contactniedannie[contactniedannie.find(start3)+len(start3):contactniedannie.rfind(end3)]
  84.         print(self.email)
  85.     #def novosti(self):
  86.      #   print(self.soup)
  87. t = analyssaita()
  88. print(t.timetable())
  89. print(t.adress())
  90. print(t.contactniedannie())
  91. print(t.timetable)
Advertisement
Add Comment
Please, Sign In to add comment