Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,262 @@
---
category: general
date: 2026-09-19
description: تعلم كيفية تغيير العنوان في ملف HTML باستخدام بايثون. يغطي هذا الدليل
قراءة HTML، وتحديث وسم العنوان، وحفظ HTML المعدل.
draft: false
images:
- PLACEHOLDER_URL/og-image.png
keywords:
- how to change title
- update html title
- read html with python
- load html file python
- save modified html
language: ar
lastmod: 2026-09-19
og_description: كيفية تغيير العنوان في ملف HTML باستخدام بايثون. اتبع هذا المثال الكامل
لقراءة HTML، وتحديث وسم العنوان، وحفظ المستند المعدل.
og_image_alt: Diagram showing how to change title in an HTML file using Python
og_title: كيفية تغيير العنوان في ملف HTML باستخدام بايثون – دليل خطوة بخطوة
schemas:
- author: Aspose
dateModified: '2026-09-19'
description: Learn how to change title in an HTML file with Python. This guide covers
reading HTML, updating the title tag, and saving the modified HTML.
headline: How to change title in an HTML file using Python
type: TechArticle
tags:
- Python
- HTML
- Web scraping
title: كيفية تغيير العنوان في ملف HTML باستخدام بايثون
url: /ar/python/general/how-to-change-title-in-an-html-file-using-python/
---

{{< blocks/products/pf/main-wrap-class >}}
{{< blocks/products/pf/main-container >}}
{{< blocks/products/pf/tutorial-page-section >}}

# كيفية تغيير العنوان في ملف HTML باستخدام بايثون

إذا كنت بحاجة إلى **how to change title** في مستند HTML برمجياً، فإن بايثون يجعل المهمة سهلة. في هذا الدرس ستقرأ ملف HTML، تُحدّث عنصر `<title>`، وتحفظ الـ HTML المعدل مرة أخرى على القرص—كل ذلك باستخدام كود واضح وقابل للتنفيذ.

تغيير عنوان الصفحة خطوة شائعة عندما تُنشئ مواقع ثابتة، أو تُخصص صفحات تم استخراجها، أو تُ automatisé تحديثات SEO. بنهاية هذا الدليل ستعرف كيف تُـ **update html title**، وكيف تُـ **read html with python**، وكيف تُـ **save modified html** بأمان.

## المتطلبات المسبقة

قبل أن تبدأ، تأكد من وجود:

- Python 3.8 أو أحدث مثبت
- حزمة `beautifulsoup4` (`pip install beautifulsoup4`)
- ملف HTML تريد تحريره (المثال يستخدم `index.html` في مجلد تختاره)

لا توجد خدمات خارجية مطلوبة؛ كل شيء يُنفّذ محليًا.

## الخطوة 1: تحميل ملف HTML باستخدام بايثون

المهمة الأولى هي **load html file python**‑style. استخدام `BeautifulSoup` يمنحك محللًا متسامحًا يعمل مع علامات غير مكتملة.

```python
from pathlib import Path
from bs4 import BeautifulSoup

# Define the directory that holds the original HTML
html_dir = Path("YOUR_DIRECTORY")
original_path = html_dir / "index.html"

# Read the file contents (this is how you **read html with python**)
with original_path.open(encoding="utf-8") as f:
html_content = f.read()

# Parse the document
soup = BeautifulSoup(html_content, "html.parser")
```

*لماذا هذه الخطوة مهمة:*
`BeautifulSoup` يبني تمثيلًا شجريًا، مما يتيح لك الاستعلام وتعديل العناصر دون التعامل اليدوي مع السلاسل النصية. الـ `html.parser` المدمج سريع ولا يتطلب ملفات تنفيذية إضافية.

## الخطوة 2: تحديد عنصر `<title>`

عادةً ما تحتوي مستندات HTML على وسم `<title>` واحد داخل `<head>`. نستخرج أول ظهور، وهو ما يفي بمتطلب **update html title**.

```python
# Find the first <title> element; BeautifulSoup returns None if missing
title_tag = soup.find("title")

if title_tag is None:
# If the document lacks a <title>, create one inside <head>
head_tag = soup.find("head")
if head_tag is None:
# As a safety net, add a <head> element at the top
head_tag = soup.new_tag("head")
soup.insert(0, head_tag)
title_tag = soup.new_tag("title")
head_tag.append(title_tag)

# Show the current title (useful for debugging)
print("Current title:", title_tag.string)
```

*لماذا نتحقق من `None`*:
بعض أجزاء HTML قد تُغفل عن العنوان. إضافته تلقائيًا يمنع الأخطاء لاحقًا ويحافظ على صلابة السكريبت.

## الخطوة 3: تغيير نص العنوان

الآن نقوم بـ **update html title** عن طريق إسناد نص جديد إلى خاصية السلسلة للوسم. هذه هي جوهر عملية **how to change title**.

```python
new_title = "New Title"

# Replace the existing title text
title_tag.string = new_title

print("Updated title:", title_tag.string)
```

خاصية `string` تمثل عقدة النص داخل `<title>`. استبدالها يحدّث الـ DOM في الذاكرة.

## الخطوة 4: حفظ الـ HTML المعدل

أخيرًا، اكتب المستند المعدل إلى ملف جديد. هذا يُنفّذ خطوة **save modified html** ويترك الأصلي دون تغيير.

```python
# Define the output path
modified_path = html_dir / "index_modified.html"

# Write the prettified HTML back to disk
with modified_path.open("w", encoding="utf-8") as f:
f.write(soup.prettify())

print(f"Modified HTML saved to {modified_path}")
```

`prettify()` ينسق الناتج مع مسافات بادئة، مما يجعل الملف سهل القراءة بعد التعديل.

### النتيجة المتوقعة

تشغيل السكريبت على مثال `index.html` يحتوي أصلاً على:

```html
<!DOCTYPE html>
<html>
<head>
<title>Old Title</title>
</head>
<body>
<h1>Welcome</h1>
</body>
</html>
```

ينتج مخرجات في الطرفية مشابهة لـ:

```
Current title: Old Title
Updated title: New Title
Modified HTML saved to YOUR_DIRECTORY/index_modified.html
```

الملف `index_modified.html` المحفوظ سيبدأ الآن بـ:

```html
<!DOCTYPE html>
<html>
<head>
<title>
New Title
</title>
</head>
<body>
<h1>
Welcome
</h1>
</body>
</html>
```

## البرنامج الكامل للنسخ واللصق السريع

فيما يلي البرنامج الكامل الجاهز للتنفيذ الذي يجمع جميع الخطوات الأربع. احفظه باسم `change_title.py` وعدّل `YOUR_DIRECTORY` حسب الحاجة.

```python
# change_title.py
from pathlib import Path
from bs4 import BeautifulSoup

# ----------------------------------------------------------------------
# Configuration – change these values to match your environment
# ----------------------------------------------------------------------
html_dir = Path("YOUR_DIRECTORY") # Folder containing index.html
original_file = html_dir / "index.html"
modified_file = html_dir / "index_modified.html"
new_title = "New Title" # Desired title text
# ----------------------------------------------------------------------

# 1️⃣ Load the HTML file (read html with python)
with original_file.open(encoding="utf-8") as f:
html_content = f.read()

soup = BeautifulSoup(html_content, "html.parser")

# 2️⃣ Locate or create the <title> element
title_tag = soup.find("title")
if title_tag is None:
head_tag = soup.find("head")
if head_tag is None:
head_tag = soup.new_tag("head")
soup.insert(0, head_tag)
title_tag = soup.new_tag("title")
head_tag.append(title_tag)

print("Current title:", title_tag.string)

# 3️⃣ Update the title (how to change title)
title_tag.string = new_title
print("Updated title:", title_tag.string)

# 4️⃣ Save the modified HTML (save modified html)
with modified_file.open("w", encoding="utf-8") as f:
f.write(soup.prettify())

print(f"Modified HTML saved to {modified_file}")
```

تشغيل السكريبت:

```bash
python change_title.py
```

ستظهر لك رسائل الطرفية وملف `index_modified.html` الجديد مع العنوان المحدث.

## نصائح إضافية وحالات خاصة

| الحالة | ما الذي يجب فعله |
|-----------|------------|
| **وجود وسوم `<title>` متعددة** | `soup.find_all("title")` تُعيد قائمة؛ حدّث العنصر الأول أو كرّر إذا كنت بحاجة لتغيير جميعها. |
| **مشكلات الترميز** | افتح الملفات باستخدام `encoding="utf-8-sig"` إذا كان هناك BOM، أو اكتشف الترميز باستخدام `chardet`. |
| **ملفات HTML كبيرة** | استخدم محلل `lxml` (`BeautifulSoup(html_content, "lxml")`) لأداء أفضل. |
| **الحفاظ على التنسيق الأصلي** | إذا كان عليك الحفاظ على المسافات الدقيقة، اكتب `str(soup)` بدلاً من `prettify()`. |
| **الأتمتة عبر ملفات متعددة** | غلف المنطق داخل دالة وكرّر عبر `Path.rglob("*.html")`. |

هذه التغييرات تحافظ على منطق **how to change title** الأساسي مع التكيف مع مشاريع العالم الحقيقي.

## الخلاصة

أنت الآن تعرف كيف تُـ **how to change title** في أي مستند HTML باستخدام بايثون. غطّى الدرس قراءة HTML، تحديد وسم `<title>`، تحديث نصه، و**saving modified html** بأمان. باستخدام البرنامج الكامل يمكنك دمج هذا النمط في مولّدات المواقع الثابتة، خطوط أنابيب SEO، أو أي أتمتة تتطلب تغييرات ديناميكية في العناوين.

بعد ذلك، استكشف مواضيع ذات صلة مثل **read html with python** لاستخراج وسوم meta، أو تقنيات **load html file python** للتعامل مع علامات غير صحيحة. جرّب المعالجة الدفعية لتحديث العناوين عبر موقع كامل—مهارتك الجديدة هي الأساس للعديد من مهام أتمتة الويب. Happy coding!

## ما الذي ينبغي أن تتعلمه لاحقًا؟

الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات التي تم توضيحها في هذا الدليل. كل مصدر يتضمن أمثلة كود كاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف نهج تنفيذية بديلة في مشاريعك.

- [كيفية حفظ HTML باستخدام Aspose.Html – دليل C# كامل](/html/english/net/working-with-html-documents/how-to-save-html-with-aspose-html-complete-c-guide/)
- [كيفية حفظ HTML في C# – دليل كامل باستخدام معالج موارد مخصص](/html/english/net/working-with-html-documents/how-to-save-html-in-c-complete-guide-using-a-custom-resource/)
- [كيفية تحويل HTML إلى PNG – دليل خطوة بخطوة كامل](/html/english/net/rendering-html-documents/how-to-render-html-to-png-complete-step-by-step-guide/)

{{< /blocks/products/pf/tutorial-page-section >}}
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
{{< blocks/products/products-backtop-button >}}
Loading
Loading