I hope I've understood your question right. This script will get all text from the main body without any tags. Only red text portions are enclosed in <TAG>:
import requests
from bs4 import BeautifulSoup, NavigableString
url = "https://www.islamweb.net/ar/library/index.php?page=bookcontents&idfrom=1&idto=272&bk_no=86&ID=2"
soup = BeautifulSoup(requests.get(url).content, "html.parser")
body = soup.select_one("#pagebody")
for tag in body.find_all(
lambda tag: tag.name == "span" and "none" in tag.get("style", "")
):
tag.extract()
for tag in body.select(":not(.names)"):
tag.unwrap()
out = []
for c in body.contents:
if isinstance(c, NavigableString):
c = c.strip()
if c:
out.append(c)
else:
out.append("<TAG>{}</TAG>".format(c.get_text(strip=True)))
print(" ".join(out))
Prints:
1 [ ص: 7 ] بسم الله الرحمن الرحيم وصلى الله على سيدنا محمد وآله وصحبه وسلم أخبرنا الإمام الحافظ <TAG>أبو القاسم سليمان بن أحمد بن أيوب اللخمي الطبراني</TAG> - رحمه الله - قال : هذا أول كتاب فوائد مشائخي الذين كت
بت عنهم بالأمصار ، خرجت عن كل واحد منهم حديثا واحدا وجعلت أسماءهم على حروف المعجم . باب الألف من اسمه أحمد حدثنا <TAG>أحمد بن عبد الوهاب بن نجدة الحوطي أبو عبد الله</TAG> بمدينة جبلة سنة تسع وسبعين ومائتين ، حدث
نا جنادة بن مروان الأزدي [ ص: 8 ] الحمصي ، حدثنا <TAG>مبارك بن فضالة</TAG> ، عن الحسن ، عن <TAG>أنس بن مالك</TAG> - رضي الله عنه - قال : قال رسول الله - صلى الله عليه وآله وسلم - : " سألت ربي - عز وجل - ثلاث خصا
ل فأعطاني اثنتين ومنعني واحدة ، سألته أن لا يسلط على أمتي عدوا من غيرهم فأعطانيها ، وسألته أن لا يقتل أمتي بالسنة فأعطانيها ، وسألته أن لا يلبسهم شيعا فأبى علي " . لم يروه عن <TAG>مبارك بن فضالة</TAG> إلا جنادة .