Carson1

Untitled

Jun 8th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.62 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] = '10001700'
  49.         for i in range(len(timetable3)):
  50.             self.timetable[l] = timetable3[i] + ':' + timetable4[i]
  51.             l = l +1
  52.         print(self.timetable)
  53.     def adress(self):
  54.         adress = str(self.soup(class_="text"))
  55.         adress1 = adress
  56.         start = 'Наш адрес'
  57.         end = '/><br/><h1'
  58.         adress = adress[adress.find(start)+len(start):adress.rfind(end)]
  59.         start1 = '<div style="text-align: left;">'
  60.         end1 = '<br'
  61.         self.adress = adress[adress.find(start1)+len(start1):adress.rfind(end1)]
  62.         print(self.adress)
  63.         start2 = '<div style="text-align: right;"><a href="'
  64.         end2 = '" target="_blank">'
  65.         self.schema_proezda = adress1[adress1.find(start2)+len(start2):adress1.rfind(end2)]
  66.         print(self.schema_proezda)
  67.     def contactniedannie(self):
  68.         contactniedannie = str(self.soup(class_="text"))
  69.         start = 'Контактные данные'
  70.         end = '</span><br/> </b></b>'
  71.         start1 = '</h1> <br/> <b>'
  72.         end1 = '<b><br/>'
  73.         contactniedannie = contactniedannie[contactniedannie.find(start)+len(start):contactniedannie.rfind(end)] + 'JFKLDSJFLSD'
  74.         self.telefon = contactniedannie[contactniedannie.find(start1)+len(start1):contactniedannie.rfind(end1)]
  75.         print(self.telefon)
  76.         start3 = '<span style="color: rgb(0, 0, 255);">'
  77.         end3 = 'JFKLDSJFLSD'
  78.         self.email = 'e-mail: ' + contactniedannie[contactniedannie.find(start3)+len(start3):contactniedannie.rfind(end3)]
  79.         print(self.email)
  80.     #def novosti(self):
  81.      #   print(self.soup)
  82. t = analyssaita()
  83. print(t.timetable())
  84. print(t.adress())
  85. print(t.contactniedannie())
  86. print(t.novosti())
Advertisement
Add Comment
Please, Sign In to add comment