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

Немного не понимаю bs4

09.10.2017, 19:22. Показов 3412. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
напишите пожалуйста код, чтобы стянуть текст из блока через bs4 и requests

HTML5
1
2
3
4
5
6
7
8
9
<div class="child-selector">
    <div class="js-child-name">
    "
        Ваши данные:  Борнашов
                      Валентин
                      Евгеньевич
      "
    </div>
</div>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2017, 19:22
Ответы с готовыми решениями:

Немного не понимаю как работает данный код
import os import zipfile z = zipfile.ZipFile('123.zip', 'w') for folder, subfolders, files in...

void C++ немного не понимаю
Хотел спросить у меня в строке case 1: polzovatel(); проблема, не понимаю почему не запускает код. Пишет что идентификатор не найден. И...

Немного не понимаю задание
Реализовать программу монитор, отслеживающую состояние заданного при запуске каталога и выполняющего над новыми файлами некие действия....

19
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.10.2017, 02:40
Python
1
2
3
4
5
6
7
8
9
from lxml import html
 
with open('yourtext.txt') as f_in:
    s = f_in.read()
 
h = html.fromstring(s)
d = h.xpath('//div[@class="js-child-name"]')
 
print(d[0].text.strip())
Добавлено через 41 секунду
вот так через lxml, если будет время и никто не опередит - позже напишу как через bs

Добавлено через 1 час 34 минуты
Python
1
2
3
4
5
6
7
8
from bs4 import BeautifulSoup as bs
 
with open('yourtext.txt') as f_in:
    s = f_in.read()
 
soup = bs(s, 'lxml')
text = soup.find('div', {'class': 'js-child-name'})
print(text.getText().strip())
0
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 72
10.10.2017, 16:20  [ТС]
Мне кажется или я что-то тут делаю не так...
Python
1
2
3
4
    url_journal = requests.get("https://sd.tom.ru/pages/journal")
    soup = BeautifulSoup(url_journal.text, "html.parser")
    p = soup.find('div', class_="child-selector").text
    print(p)
выводится ошибка
Python
1
2
p = soup.find('div', class_="child-selector").text
AttributeError: 'NoneType' object has no attribute 'text'
с другими типо: GetText, Get_text, string и т.п. тоже самое
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
10.10.2017, 16:31
Цитата Сообщение от Shipverty Посмотреть сообщение
NoneType' object has no attribute 'text
Библиотека сказала, что "я ниче по этому селектору не нашла".
Какие к ней претензии?
1
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 72
10.10.2017, 16:39  [ТС]
Окей, немного поменял
Python
1
2
3
4
    url_journal = requests.get("https://sd.tom.ru/pages/journal")
    soup = BeautifulSoup(url_journal.text, "html.parser")
    p = soup.find('div', class_="js-child-name").text
    print(p)
код с сайта:
HTML5
1
2
3
4
5
6
7
8
9
<div class="child-selector">
    <div class="js-child-name">
    "
        Ваши данные:  Борнашов
                      Валентин
                      Евгеньевич
      "
    </div>
</div>
но всё равно тоже самое
P.S. Извините за мою тупость, если она есть
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.10.2017, 17:03
не нужно создавать кучу тем про одно и тоже.

Цитата Сообщение от Shipverty Посмотреть сообщение
requests.get("https://sd.tom.ru/pages/journal")
страница у меня не открывается. точно урл указали?

Добавлено через 31 секунду
Если нужна авторизация - точно авторизовались?

Добавлено через 29 секунд
Если все выше верно - точно данные не генерируются javascript-ом?
0
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 72
10.10.2017, 17:07  [ТС]
Да, авторизация пройдена
Про javascript я не знаю...
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.10.2017, 17:09
Cделайте get запрос страницы (r = requests.get(url)) через скрипт и выведите текст (r.content/r.text). Посмотрите, если там этот текст. Если нет - то его не выпарсить так, как это делаете Вы.
0
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 72
10.10.2017, 17:42  [ТС]
Этот текст там есть
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.10.2017, 18:34
Лучший ответ Сообщение было отмечено Shipverty как решение

Решение

Значит все должно работать

Добавлено через 44 минуты
Если что-то не работает, нам бы немного больше деталей.
1
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 72
11.10.2017, 15:52  [ТС]
Добрый вечер. У меня есть код, который авторизирует меня на сайте. Как через него перейти на ссылку кнопки ? (ссылка есть)
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
11.10.2017, 16:24
Через кого, него?
Если есть кнопка - считывайте значение href и делайте следующий get запрос.
0
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 72
11.10.2017, 16:52  [ТС]
Там нет тега а, я ссылку посмотрел через Network. А как делать следующий get запрос ?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
11.10.2017, 16:58
requests.get(url)
0
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 72
11.10.2017, 17:02  [ТС]
а как тогда если например, у меня уже есть урл от личного кабинета (переменная r) мне нужно именно через него по ссылке перейти?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
11.10.2017, 17:15
зачем? ничего не нужно. если нужно сохранить авторизацию - используйте сессию.
http://docs.python-requests.or... on-objects
0
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431
11.10.2017, 17:17
Shipverty,
Python
1
2
3
4
    url_journal = requests.get("https://sd.tom.ru/pages/journal")
    soup = BeautifulSoup(url_journal.text, "html.parser")
    p = soup.find('div', class_="js-child-name")
    print(p)
а так что выводит?

Добавлено через 16 секунд
Shipverty,
Python
1
2
3
4
    url_journal = requests.get("https://sd.tom.ru/pages/journal")
    soup = BeautifulSoup(url_journal.text, "html.parser")
    p = soup.find('div', class_="js-child-name")
    print(p)
а так что выводит?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.10.2017, 17:26
Цитата Сообщение от izuchaju_python Посмотреть сообщение
а так что выводит?
Написано же в ошибке:NoneType-> None
А не получается у него, потому что ТС понятия не имеет о сессии.
Он авторизовался одним запросом, а запрашивает данные - другим.
Раз сессии нет (http не сохраняет состояние - это, думаю, всем известно?) - между запросами нет никакой связи.
---------------------------------------
requests.Session() нужно юзать.
0
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 2
13.10.2017, 08:21
верно:
Python
1
p = soup.find('div', {"class"_="js-child-name"}).text
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.10.2017, 12:22
Цитата Сообщение от Erzed Посмотреть сообщение
soup.find('div', {"class"_="js-child-name"}).text
Чего-то вы какую-то фигню написали. Нижнее подчеркивание тут для чего?
---------------------
А вообще читайте документацию. В bs4 параметры в find\find_all можно передавать как именованными (class_, id), так и словарем с именем attrs={param:value}; также просто словарем атрибутов вторым параметром, либо строкой с именем класса - также вторым параметром.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2017, 12:22
Помогаю со студенческими работами здесь

Дерево поиска, немного не понимаю
В универе дали задание, что-то вроде написал, но все же до конца не смог довести, разобраться не успеваю сроки горят))), разгар сессии как...

Немного не понимаю std::move
Здравствуйте, я немного не понимаю работу кода на 150-155 строках здесь: #include &lt;iostream&gt; #include &lt;memory&gt; ...

Немного не понимаю по теории sql
1. Какие конструкции языка Sql используются для задания правил поддержания целостности базы данных? 2. Что такое конструктор запросов в...

Немного не понимаю принцип создания DLL
Привет! У меня есть такой файл: extern &quot;C&quot; _declspec(dllexport) int add (int _x, int _y) { return _x + _y; } int...

Немного не понимаю как правильно сделать наследование
Вот например, есть структура Point(точка). Если надо сделать структуру Round(круг), то в этом случае надо наследовать Point потому что у...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru