Zukerman

Untitled

Sep 23rd, 2020
417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.89 KB | None | 0 0
  1. import requests
  2. from bs4 import BeautifulSoup as bs # pip install beautifulsoup4
  3. import pandas as pd
  4. import base64
  5.  
  6. r_page_exapmle=requests.get('https://bolshoj-kamen.jsprav.ru/magazinyi-avtozapchastej-i-avtotovarov/')
  7. soup_page=bs(r_page_exapmle.content)
  8.  
  9. #len(soup_page.body.find_all('div', class_='org'))
  10. list_of_names=[]
  11. list_of_address=[]
  12. list_of_phone=[]
  13. list_of_value_time=[]
  14.  
  15. list_of_web =[]
  16. list_of_emails=[]
  17. phone_number=''
  18. web_name=''
  19. for i in range (len(soup_page.body.find_all('div', class_='org'))):
  20.     list_of_names.append(soup_page.body.find_all('div', class_='org')[i].find('h3').get_text())
  21.     list_of_address.append(soup_page.body.find_all('div', class_='org')[i].find_all('ul', class_="address")[0].find('span', class_='value address').get_text())
  22.     try:
  23.         list_of_phone.append(base64.b64decode(soup_page.body.find_all('div', class_='org')[i].find_all('ul', class_="address")[0].find('span', class_='phone-show')['data-phone'][2:-1]).decode("UTF-8"))
  24.     except TypeError:
  25.         list_of_phone.append('blank')
  26.     try:
  27.         list_of_value_time.append(soup_page.body.find_all('div', class_='org')[i].find_all('ul', class_="address")[0].find('span', class_='value time').get_text())
  28.         list_of_emails.append(soup_page.body.find_all('div', class_='org')[i].find_all('ul', class_="address")[0].find('span', class_='value email').get_text())
  29.     except AttributeError:
  30.         list_of_value_time.append('blank')
  31.         list_of_emails.append('blank')
  32.  
  33. # вот здесь обращаюсь ко всем p тегам:
  34. soup_page.body.find_all('div', class_='org')[0].find_all('ul', class_="address")[0].find_all('p')
  35.  
  36.  
  37. [<p><span class="nm"><i class="glyphicon glyphicon-home"></i> адрес:</span> <span class="value address">Приморский край, Большой Камень г., ул. Гагарина, 16</span></p>,
  38.  <p>
  39.  <span class="nm"><i class="glyphicon glyphicon-phone-alt"></i> телефон:</span> <span class="value phone"><span class="small-phone">8 (800) 555-23-…</span> <span class="phone-show" data-phone="b'OCAoODAwKSA1NTUtMjMtODgsJm5ic3A7KzcgKDQyMzM1KSA1LTQ2LTU0'">- показать</span></span>
  40.  <span class="clearfix"></span>
  41.  </p>,
  42.  <p><span class="nm"><i class="glyphicon glyphicon-time"></i> график (часы) работы:</span> <span class="value time">ежедневно, 9:0019:00</span></p>,
  43.  <p data-lnk="b'aHR0cDovL3d3dy5oeXBlcmF1dG8ucnU='"><span class="nm"><i class="glyphicon glyphicon-globe"></i> официальный сайт:</span> <span class="value url"></span></p>,
  44.  <p><span class="nm"><i class="glyphicon glyphicon-envelope"></i> электронная почта:</span> <span class="value email">administrator.bk@hyperauto.ru</span></p>]
  45.  
  46. # Как обратиться только к <p data-lnk...  чтобы получить b'aHR0cDovL3d3dy5oeXBlcmF1dG8ucnU= название сайта в кодировке
Add Comment
Please, Sign In to add comment