@Taya93
Брест

Как достать данные, если div пустой, а на сайте в этом divе отображаются данные?

Eсть сайт
Пытаюсь достать оттуда данные, из , там лежат название, телефон и тд, но когда нажимаю посмотреть код страницы, то в этом div-e ничего нет.
Следовательно спарсить ничего не могу.
Есть только большой script вида
({"cities":{"74858":{"name":"\u0420\u043e\u0441\u0441\u0438\u044f","code":"rossiya","id":"74858","title":"\u041c\u0430\u0433\u0430\u0437\u0438\u043d\u044b LIME \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 | \u041a\u0430\u0440\u0442\u0430","description":"LIME \u2014 \u043c\u0430\u0440\u043a\u0430 \u0431\u0440\u0435\u043d\u0434\u043e\u0432\u043e\u0439 \u0436\u0435\u043d\u0441\u043a\u043e\u0439 \u043e\u0434\u0435\u0436\u0434\u044b \u0438 \u0430\u043a\u0441\u0435\u0441\u0441\u0443\u0430\u0440\u043e\u0432. \u041c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043c\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u0438 \u043f\u043e \u0432\u044b\u0433\u043e\u0434\u043d\u043e\u0439 \u0446\u0435\u043d\u0435. \u041d\u0430\u0439\u0442\u0438 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u043d\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435.","keywords":"\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u044b lime \u0440\u043e\u0441\u0441\u0438\u044f \u043a\u0430\u0440\u0442\u0430"


Получается, как получить данные ? Надо как-то из-под тега script регулярками доставать значения \u043e\u0441\u0441\u0438\u044f, а потом их переводить в читаемый вид ?
  • Вопрос задан
  • 326 просмотров
Решения вопроса 2
@dodo512
import requests
import json
import re

r = requests.get("https://lime-shop.ru/shops/moskva/")
a = json.loads(re.search("_shops\.init\((.*?)\);", r.text).group(1))

for shop in a['shops']:
    print(shop['caption'])
Ответ написан
Комментировать
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Навскидку:
import os
from selenium import webdriver

DRIVER_PATH = os.path.join('c:\\', 'utils', 'chromedriver.exe')

options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('start-maximized')
options.add_argument('window-size=2048x5000')

browser = webdriver.Chrome(executable_path=DRIVER_PATH, options=options)

browser.get('https://lime-shop.ru/shops/moskva/')
browser.implicitly_wait(10)

for el in browser.find_elements_by_xpath("//div[@class='shops__place']"):
    print(el.text)
    print('-' * 30)


5ceedbefac606400592684.jpeg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
hzzzzl
@hzzzzl
не знаю про питон, яваскрипт сам переводит символы юникода типа \u0420\u043e\u0441\u0441\u0438\u044f в текст

5cee812e8a518655081120.png

в общем, если надо это только один раз сделать, то вот в консоли объект
https://codepen.io/anon/pen/vwzzmQ?editors=1010
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы