Задать вопрос
@Brussels_Sprouts

Как спарсить/вытащить из txt или html файла кусок строки, зная ее специфическое содержание?

Есть txt или html файл, где нужные мне слова всегда записываются в строках следующего формата:
<tr align="center"><td><a href="#Y">KEY</a></td></tr>

Y это порядковое число начиная от нуля т.е. если две строки будет идти href="#0; следующая href="#1

Каким образом я могут через python вытащить только слово которое стоит в месте под названием KEY (или несколько слов, если под KEY будет словосочетание) ?
  • Вопрос задан
  • 433 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
from bs4 import BeautifulSoup

html = '''
<tr align="center"><td><a href="#0">KEY 0</a></td></tr>
<tr align="center"><td><a href="#1">KEY 1</a></td></tr>
'''

bs = BeautifulSoup(html, 'html.parser')

for item in bs.find_all('a'):
    value = item.get('href')
    if value and value.startswith("#"):
        print(item.text)  # KEY
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Maksim_64
@Maksim_64
Data Analyst
from bs4 import BeautifulSoup

text = '''
    <tr align="center"><td><a href="#0">First</a></td></tr>,
    <tr align="center"><td><a href="#1">This is second</a></td></tr>,
    <tr align="center"><td><a href="#2">third</a></td></tr>
'''

soup = BeautifulSoup(text,'html.parser')
result = [ row.a.text for row in soup.find_all('tr')]
print(result)

или result = [ row.text for row in soup.find_all('a')] как удобнее для настройки дополнительных условий парсинга.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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