Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
2 / 2 / 0
Регистрация: 14.05.2020
Сообщений: 61

Поиск строк и символов в Python из web страницы. Как реализовать?

08.07.2021, 21:31. Показов 7068. Ответов 10

Студворк — интернет-сервис помощи студентам
Само задание взято отсюда:https://stepik.org/lesson/2097... nit=183222
Ссылка https://ru.wikipedia.org/wiki/Python содержит статью с Википедии про язык Python. В этой статье есть теги code, которыми выделяются конструкции на языке Python. Вам нужно найти все строки, содержащиеся между тегами <code> и </code> и найти те строки, которые встречаются чаще всего и вывести их в алфавитном порядке, разделяя пробелами.

Например, если исходный текст страницы выглядел бы так:

Code
1
2
3
4
5
6
<code>a</code>
<a>bracadabr</a>
<code>c</code>
<code>b</code>
<code>b</code>
<code>c</code>
то в ответ надо было бы ввести строку "b c".

Как я это решил:
Python
1
2
3
4
5
6
7
import re
from urllib.request import urlopen
 
html = urlopen ("https://ru.wikipedia.org/wiki/Python").read().decode("utf-8")
m = ['a-z']
a = re.findall((r'<code>[a-b]</code>'), str)
print(a)
Всё бы хорошо, та ошибку выдает: expected string or bytes-like object

С чем это может быть связано?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.07.2021, 21:31
Ответы с готовыми решениями:

Поиск строк с нужным словом в файле .csv и перезапись этих строк в новый файл Python
Добрый день. Господа программисты, нужна Ваша помощь. Возникла необходимость написать программный код на языке Python, но я 2 года...

Python flask web поиск с обращением в бд mysql
добрый день! существует такой вопрос, как на питоне фласке сделать веб интерфейс поиска, который будет обращаться в бд(желательно flask...

Поиск нужного значения парсером web-страницы
Подскажите пожалуйста, можно ли написать парсер одной странички который будет искать только версию базы данных(в данном случае...

10
 Аватар для avdivo
303 / 213 / 112
Регистрация: 03.12.2016
Сообщений: 409
08.07.2021, 23:10
Лео236,
Что такое str?
0
2 / 2 / 0
Регистрация: 14.05.2020
Сообщений: 61
09.07.2021, 01:28  [ТС]
str - оператор строки
0
 Аватар для avdivo
303 / 213 / 112
Регистрация: 03.12.2016
Сообщений: 409
09.07.2021, 01:46
Ну так и что он там делает? Разве ваша строка не html?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.07.2021, 07:47
Цитата Сообщение от Лео236 Посмотреть сообщение
m = ['a-z']
Это что?
Цитата Сообщение от Лео236 Посмотреть сообщение
str - оператор строки
Т.е. догадки не хватило туда подать строку, в которой собсно и должен происходить поиск?
Python
1
2
3
html = urlopen("https://ru.wikipedia.org/wiki/Python").read().decode("utf-8")
a = re.findall(r'<code>(.+?)</code>', html)
print(a)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
09.07.2021, 07:54
Лео236, садись, два. Это а степике так учат? Вообще то тут не регулярки нужны а БьютифулСуп которому вас "обучают".
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.07.2021, 08:15
Welemir1, правильно подметил дядюшка Welemir1, bs4 - отличный вариант для решения проблемы. Однако под него ещё надо будет requests. Можно и через регулярки, но это более сложный процесс.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
09.07.2021, 08:18
Damenikx, requests как раз не обязательно, возможно их на этом курсе сначала учат через урлопен страницы получать, это тоже норм. Но судя по курсу, тут регулярки не предусмотрены, их же учат парсить хтмл.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.07.2021, 08:20
С bs4 это выглядит примерно так (могу ошибиться по памяти писал):
Python
1
2
3
4
5
6
7
8
9
from bs4 import BeautifulSoup
import requests
 
url = 'https://ru.wikipedia.org/wiki/Python'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
quotes = soup.find_all('code')
 
print(quotes)
И да, если будете использоваться докачайте библиотеку lxml

Добавлено через 1 минуту
Welemir1, действительно, не учёл.

Не по теме:

Скоро сюда будут падать темы по Scrapy. С вопросом: "это же фреймворк, а как его запустить?"

1
2 / 2 / 0
Регистрация: 14.05.2020
Сообщений: 61
09.07.2021, 08:50  [ТС]
Welemir1, Да, так учат, о BeautifulSoap вообще речи и не шло
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.07.2021, 12:50
Цитата Сообщение от Лео236 Посмотреть сообщение
str - оператор строки
Это функция-конструктор, а не оператор.
Цитата Сообщение от Лео236 Посмотреть сообщение
Да, так учат,
Жирная двойка вашим преподам.
Для разбора html нужно использовать html парсер. Для начала - хотя бы встроенный html.parser.
Попробуй учиться самостоятельно - по документации (все кто здесь отвечают на вопросы- учились самостоятельно. Забавно? Но факт. Кого учили - ничему, видимо, не научили).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.07.2021, 12:50
Помогаю со студенческими работами здесь

Реализовать два метода поиска строк в массиве: поиск перебором, бинарный поиск
Массив длины 15 заполнен строками, упорядоченными лексикографически без повторов: список зарегистрированных посетителей ...

Поиск символов и соединение строк
Здравствуйте! Вопрос такой! Есть label в который осуществляется запись с двух форм. Подскажите как определить последний символ находящийся...

Поиск символов в динамическом массиве строк
привет, мне нужно объяснение об поиском символом в динамичный строк массива. я буду дать этот пример: у меня есть н число элементов как я...

Придумать и реализовать алгоритм шифрования текста (использовать функции обработки символов и строк)
5)Придумать и реализовать алгоритм шифрования текста (использовать функции обработки символов и строк).

Реализовать класс Список (List) для хранения строк (максимальная длина строки – 20 символов).
начала изучать си++. классы. вот написала прогу, а там видать где-то ошибка, я её найти не могу...и программа не работает. если вас не...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru