Home > database >  Gettting an empty tag from site
Gettting an empty tag from site

Time:10-18

I use beautiful soup to parse data from site. I have problem there is a text in tag on site but I gets an empty tag (without data).

My code:

import requests
import lxml
from bs4 import BeautifulSoup as BS

s = requests.Session()

get_data = s.get('https://naturasiberica.ru/our-shops/omsk/')

html = BS(get_data.content, 'lxml')

print(html.find_all('p', 'original-shops__phone'))

I got from site: Data from site Tag on site

CodePudding user response:

The data is loaded via JavaScript from external URL. You can use requests/json module to load the data:

import json
import requests
from bs4 import BeautifulSoup

url = "https://naturasiberica.ru/local/php_interface/ajax/getShopsData.php"

payload = {"type": "all", "active": "omsk"}
headers = {"X-Requested-With": "XMLHttpRequest"}

data = requests.post(url, headers=headers, data=payload).json()

# print(json.dumps(data, indent=4))

for d in data["original"]:
    print(
        "{:<60} {}".format(
            BeautifulSoup(d["name"], "html.parser").text,
            d.get("phone") or "N/A",
        )
    )

Prints:

Омск, ТЦ "Мега"                                              8 (381) 244-6690
Гонконг                                                       852 2436 9069
Босния и Герцеговина, Banja Luka city Gospodska               387 66 270 000 
Босния и Герцеговина, Banja Luka city, Delta Planet Mall       387 66 583 828
Барселона, Diagonal                                           34933284480
Барселона "Santa Anna"                                        (34)932529379
Воронеж ТЦ "Галерея Чижова"                                  8 (473) 206 67 83
Владивосток, ТЦ "Калина Молл"                                8 (423) 265-00-81
Екатеринбург, ул. Металлургов                                8 (343) 205-45-53
Казань, ТРЦ "Парк Хаус"                                      8 (843) 528-00-15
NS Калининград Европа,  г. Калининград ул.Театральная, д.30  N/A
Краснодар, ул. имени Володи Головатого 313                   8 (861) 202-05-89
Кызыл ТЦ "Алексеевский"                                      8 (3942) 23-71-22
Махачкала, ул.Коркмасова 17                                  8 (989) 670-40-40
Москва ТРЦ  Метрополис                                       8(499)9290739
Москва "Ленинский 119А"                                      8 (495) 771-72-55
Москва "Охотный ряд"                                         8 (495) 730-31-06
Москва "Маросейка"                                           8 (499) 271-96-42
Москва "Фестиваль"                                           8 (495) 771-75-30
Москва "Вегас Кунцево"                                       8 (495) 236-12-27
Москва "МЕГА Белая дача"                                     8 (499) 271-98-48
Москва "Нахимовский"                                         8 (499) 124-42-90
Москва "Европейский"                                         8 (495) 229-84-09
Москва "Avenue"                                              8 (499) 271-97-26
Москва, ТРЦ Океания                                          8 (495) 139-71-50
Москва "Коламбус"                                            8 (499) 650-86-26
Москва "Пятницкая"                                           8 (499) 922-85-92
Москва "Калейдоскоп"                                         8 (495) 901-02-61
Москва "Тверская, 27"                                        8 (495) 988-48-92 
Москва "Тверская 4"                                          8 (495) 692-20-84
Москва "Райкин Плаза"                                        8 (495) 542-44-23
Москва "Авиапарк"                                            8 (495) 787-04-28
Москва, ТРЦ "Хорошо"                                         N/A
Мурманск, ТРК "Мурманск Молл"                                8 (815) 247-49-78
Нижний Новгород, ТРЦ "Фантастика"                            8 (831) 2610-234
Новокузнецк, ТРЦ "Планета"                                   8 (3843) 91-01-12
Новосибирск "Галерея"                                        8 (383) 363-20-13
Рязань, ТРЦ "Премьер"                                        8 (4912) 55-00-63
Самара, ТЦ "Мега"                                            8 (846) 374-06-76
Санкт-Петербург, Невский пр.108                              8 (812) 240-4846
Саратов, ТРЦ "Триумф Молл"                                   8 (8452) 24-68-95
Сочи, ТЦ "Море Молл"                                         8 (8622) 91-87-72
Тюмень, ТЦ "Галерея Вояж"                                    8 (3452) 38-26-46
Уфа, ТЦ "Мега"                                               8 (3472) 92-81-48
Хабаровск, ТРК "Броско Молл"                                 8 (4212) 26-00-19
Челябинск, ТРЦ "Алмаз"                                       8 (351) 724-22-33
Белград "Короля Александра, 44"                               381691487888
Белград "Короля Александра,86"                                381691587888
Белград "Usce shopping center"                                381 69 51 35 888
Белград, Kajmakčalanska                                       381691087888
Черногория, Будва                                             38268708800
Черногория, Подгорица                                         38267672195 
Эстония, Таллинн                                              3726654470
  • Related