Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 05.01.2017
Сообщений: 13

Requests и bs4 python 3

05.02.2019, 17:54. Показов 1833. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, начала недавно изучать питон и решил поработать с запросами, такой вопрос возник - использую requests для запроса и bs4 для обработки html страницы. Вообщем делаю запрос и получаю тот блок страницы который мне нужен:
Python
1
r = requests.get(url+'?page='+str(i))
Python
1
soup = BeautifulSoup(r.text, 'html.parser')
Python
1
ids = soup.find('script',{'id':'jsdata'})
Ответ выглядит вот так:
HTML5
1
2
3
<script id="jsdata">
        var data = {"search":{"currentPage":1,"ids":[48187056,48264670,48388854,46867214,48381677,26123178,30902897,30851373,48674901,48640537,16971863,46574579,29431520,47743779,47816176,29525233,48698292,48423335,27989106,30148051,47778545,30269946,47109461],"regionId":null,"isOnMap":false,"userId":null,"parameters":{"section":"prodazha","category":"kvartiry","page":"0"},"nbTotal":"128 509"},"category":{"id":1,"hasPrice":true,"name":"sell.flat","sectionName":"sell","categoryName":"flat","defaultCurrency":1},"svgIconsUrl":"//krisha.kz/static/frontend/svg/svg-symbols.bbaf7fb734.svg","app":"Frontend","baseHostname":"krisha.kz","cookieDomain":".krisha.kz","isRemoteResourcesEnabled":true,"isDebug":false,"route":"advert:search","controller":"a","action":"search","ab":[],"user":{"email":null,"isGuest":true,"isPro":false,"isCompany":false,"id":null,"name":null,"locale":"","xdmAssetUrl":"https://id.kolesa.kz/authToken.js"},"photoHost":"photos-kr.kcdn.kz","views":{"location":"ms/views"}};
    </script>
Теперь из ответа не могу получить чисто вот это:
HTML5
1
[48187056,48264670,48388854,46867214,48381677,26123178,30902897,30851373,48674901,48640537,16971863,46574579,29431520,47743779,47816176,29525233,48698292,48423335,27989106,30148051,47778545,30269946,47109461]
Заранее спасибо!)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2019, 17:54
Ответы с готовыми решениями:

Парсинг olx.ua Python+requests+bs4
Пытаясь сделать парсер мобильных телефонов на сайте olx.ua столкнулся с проблемой:при отправке ajax запроса мне выдает вместо корректного...

Как достать ссылку из поисковой системы Яндекс? (Парсинг, python, bs4)
Возникла проблема при парсинге поисковой системы Яндекса. Необходимо сравнить ссылку, которую вводит пользователь и который есть на...

Python-requests
Здравствуйте, на локалке всё хорошо было, а на сервере столкнулся такой ошибкой: http://********/zANDl3BSlqaLqm.png Не подскажет ли...

2
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
05.02.2019, 18:32
Возьмите только текст тега script. Затем сделайте split по "var data = "
Вот так:
Python
1
>>> data = text.split('var data = ')[1]
И затем полученный json просто превратите в обычный python словарь
Python
1
2
3
4
>>> import json
>>> json.loads(data)
{'search': {'currentPage': 1, 'ids': [48187056, 48264670, 48388854, 46867214, 48381677, 26123178, 30902897, 30851373, 48674901, 48640537, 16971863, 46574579, 29431520, 47743779, 47816176, 29525233, 48698292, 48423335, 27989106, 30148051, 47778545, 30269946, 47109461], 'regionId': None, 'isOnMap': False, 'userId': None, 'parameters': {'section': 'prodazha', 'category': 'kvartiry', 'page': '0'}, 'nbTotal': '128 509'}, 'category': {'id': 1, 'hasPrice': True, 'name': 'sell.flat', 'sectionName': 'sell', 'categoryName': 'flat', 'defaultCurrency': 1}, 'svgIconsUrl': '//krisha.kz/static/frontend/svg/svg-symbols.bbaf7fb734.svg', 'app': 'Frontend', 'baseHostname': 'krisha.kz', 'cookieDomain': '.krisha.kz', 'isRemoteResourcesEnabled': True, 'isDebug': False, 'route': 'advert:search', 'controller': 'a', 'action': 'search', 'ab': [], 'user': {'email': None, 'isGuest': True, 'isPro': False, 'isCompany': False, 'id': None, 'name': None, 'locale': '', 'xdmAssetUrl': 'https://id.kolesa.kz/authToken.js'}, 'photoHost': 'photos-kr.kcdn.kz', 'views': {'location': 'ms/views'}}
>>>
из которого можно уже взять по ключу что угодно.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
06.02.2019, 16:25
Python
1
2
3
4
5
6
7
8
9
10
11
import re
from json import JSONDecoder
 
t = '''
    <script id="jsdata">
        var data = {"search":{"currentPage":1,"ids":[48187056,48264670,48388854,46867214,48381677,26123178,30902897,30851373,48674901,48640537,16971863,46574579,29431520,47743779,47816176,29525233,48698292,48423335,27989106,30148051,47778545,30269946,47109461],"regionId":null,"isOnMap":false,"userId":null,"parameters":{"section":"prodazha","category":"kvartiry","page":"0"},"nbTotal":"128 509"},"category":{"id":1,"hasPrice":true,"name":"sell.flat","sectionName":"sell","categoryName":"flat","defaultCurrency":1},"svgIconsUrl":"//krisha.kz/static/frontend/svg/svg-symbols.bbaf7fb734.svg","app":"Frontend","baseHostname":"krisha.kz","cookieDomain":".krisha.kz","isRemoteResourcesEnabled":true,"isDebug":false,"route":"advert:search","controller":"a","action":"search","ab":[],"user":{"email":null,"isGuest":true,"isPro":false,"isCompany":false,"id":null,"name":null,"locale":"","xdmAssetUrl":"https://id.kolesa.kz/authToken.js"},"photoHost":"photos-kr.kcdn.kz","views":{"location":"ms/views"}};
    </script>
    '''
d = re.findall(r'({.*})', t)[0]
d2 = JSONDecoder().decode(d)
print(d2['search']['ids'])
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2019, 16:25
Помогаю со студенческими работами здесь

Python requests
У меня есть код import requests url = '&lt;url&gt;' r = requests.get(url, data={'user': '&lt;user&gt;', 'password': '&lt;password&gt;'}) ...

Javascript + python requests
Салют всем) Возникла проблема, пытаюсь при помощи requests выполнить POST запрос на один из сервисов гугла, и в итоге выдает ошибку, мол...

Python Selenium/Requests
Мне нужно перебрать все эти матчи с помощью Питона. Как мне сделать? Матчи каждый раз разные, я не хочу под каждый матч копировать xpath....

Авторизация в модальных окнах Python, requests
Всем привет, появилась задача получать скриншоты с ip-камеры, но при попытке доступа по url появляется модальное окно Все стандартные...

requests - Несколько запросов на сайт python
Есть кусочек кода: import requests import argparse parser = argparse.ArgumentParser(description='Test get') ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru