Уведомления

Группа в Telegram: @pythonsu

#1 Июль 4, 2022 11:13:44

gedat
Зарегистрирован: 2022-07-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Чем лучше всего достать содержимое?

Есть содержимое вида

             </td> <td class="oc_7 oc_8"><span class="officers_ban"><em></em></span></td></tr><tr><td class="oc_1">
                Значение
            </td> <td align="center" class="oc_2"><span class="icons_rankgeneral icon_rank_100"></span></td> <td align="center" class="oc_3"><span>Значение</span></td> <td align="center" class="oc_4"><span class="officers_role OFFICER"></span></td> <td align="center" class="oc_5">
                Значение
            </td> <td align="center" class="oc_6">
                Значение
И мне нужно оттуда достать значения. Чем это лучше всего сделать? И можно пример для этого?) Значения находятся на отдельной пустой строке
Есть что-то вроде “вырезать строчку которая идет между <td class=”oc_1“> и </td>” ? Или чем лучше сделать



Не изучал язык python, просто пишу для работы мини скрипты
Мой основной язык C#

Отредактировано gedat (Июль 4, 2022 11:14:20)

Офлайн

#2 Июль 4, 2022 11:38:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Чем лучше всего достать содержимое?

Если Значение2 не надо, то можно так

  
>>> import re
>>> 
>>> text = """\
...              </td> <td class="oc_7 oc_8"><span class="officers_ban"><em></em></span></td></tr><tr><td class="oc_1">
...                 Значение1
...             </td> <td align="center" class="oc_2"><span class="icons_rankgeneral icon_rank_100"></span></td> <td align="center" class="oc_3"><span>Значение2</span></td> <td align="center" class="oc_4"><span class="officers_role OFFICER"></span></td> <td align="center" class="oc_5">
...                 Значение3
...             </td> <td align="center" class="oc_6">
...                 Значение4
... """
>>> 
>>> pat = r'class="oc_\d+">\n +(.+?)\n'
>>> out = re.findall(pat, text)
>>> out
['Значение1', 'Значение3', 'Значение4']
>>>

А вообще, лучше это чистить в несколько проходов от лишних символов и ещё расставлять метки, по которым потом можно определять нужные места для последующих проходов. Тогда оно чистится точно и без ошибок и всё проще и проще становится добраться до нужных данных.



Офлайн

#3 Июль 4, 2022 12:26:39

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

Чем лучше всего достать содержимое?

scripy или чтото на подобе.

погуглите по теме парсинг сайтов на python

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version