Это немного сложно и выглядит как обходной путь, но вы можете использовать атрибут next_sibling
элемента bs4 и проверить type
. Но это работает:
from urllib.request import urlopen
import bs4
import requests
import json
from selenium import webdriver
html = """<div itemprop="articleBody" class="article-body">
<p itemprop="immediateRelease" class="immediateRelease">IMMEDIATE RELEASE</p>
<h1 itemprop="headline">HEADLINE</h1>
<div class="hidden-lg meta">
<ul>
<li><time pubdate="" datetime="Jan. 23, 2019">Jan. 23, 2019</time></li>
<li>News Release</li>
<li>Release No: NR-014-19</li>
</ul>
</div>
<hr>
Text Text Text <br>
<br>
Text Text Text <br>
<br>
Text Text Text.<br>
<br>
Text Text Text <a href="mailto: Text Text Text " class="ApplyClass"> Text Text Text </a>.<br>
<p> </p>
<p>E Text Text Text </p>
</div>"""
soup = bs4.BeautifulSoup(html,'html.parser')
div = soup.find('div')
text = ''
el = div.find('hr')
while(el):
el = el.next_sibling
if isinstance(el, bs4.element.Tag):
text += el.get_text()
elif isinstance(el, bs4.element.NavigableString):
text += el
print(text)
ВЫХОД:
Text Text Text
Text Text Text
Text Text Text.
Text Text Text Text Text Text .
E Text Text Text
Он отправляется в центр уведомлений, где все уведомления централизованы. Объект, который хочет получить информацию об этом уведомлении, регистрируется в центре уведомлений, сообщая, какое уведомление он хочет получить, и какой метод следует вызывать при получении уведомления.
Для получения дополнительной информации вы можете посмотреть Темы программирования уведомлений для какао и Справочник по классам NSNotification .
From within the initialization code of the class you wish to receive the notification make the following method call:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleMemoryWarning:) name: UIApplicationDidReceiveMemoryWarningNotification object:nil];
This assumes that your class also implements a handleMemoryWarning method as follows:
- (void) handleMemoryWarning:(NSNotification *)notification
{
}
Гораздо проще в использовании делегирование приложения и реализация необязательного метода
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
Большинство распространенных уведомлений также доступны в виде вызовов для делегата, как правило, для необязательных методов в формальном протоколе. Вашим делегатом может быть любой объект, который вам нравится.