Update app.py
Browse files
app.py
CHANGED
|
@@ -31,26 +31,38 @@ def extract_titles_and_hashtags(file):
|
|
| 31 |
|
| 32 |
# معالجة كل حاوية
|
| 33 |
for container in desc_containers:
|
| 34 |
-
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
# استخراج الهاشتاغات
|
|
|
|
| 38 |
for tag in container.find_all('a'):
|
| 39 |
tag_text = tag.get_text(strip=True)
|
| 40 |
if tag_text.startswith('#'):
|
| 41 |
hashtags.append(tag_text)
|
| 42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
if hashtags:
|
| 44 |
hashtags_counter.update(hashtags)
|
| 45 |
-
data.append({
|
| 46 |
-
"Title": title,
|
| 47 |
-
"Hashtags": ", ".join(hashtags)
|
| 48 |
-
})
|
| 49 |
|
| 50 |
# إعداد النصوص النهائية
|
| 51 |
titles_text = "\n".join(
|
| 52 |
f"{i+1}. {row['Title']}"
|
| 53 |
for i, row in enumerate(data)
|
|
|
|
| 54 |
)
|
| 55 |
|
| 56 |
hashtags_text = "\n".join(
|
|
|
|
| 31 |
|
| 32 |
# معالجة كل حاوية
|
| 33 |
for container in desc_containers:
|
| 34 |
+
# البحث عن العنوان في عدة أماكن محتملة
|
| 35 |
+
title = (
|
| 36 |
+
container.find('h2', class_='title') # البحث عن عنصر h2 مع class='title'
|
| 37 |
+
or container.find('h1', class_='title') # أو h1
|
| 38 |
+
or container.find('div', class_='title') # أو div
|
| 39 |
+
or container.find(class_='title') # أو أي عنصر يحتوي على class='title'
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
if title:
|
| 43 |
+
title = title.get_text(strip=True)
|
| 44 |
+
else:
|
| 45 |
+
title = container.get('aria-label', 'بدون عنوان').strip()
|
| 46 |
|
| 47 |
# استخراج الهاشتاغات
|
| 48 |
+
hashtags = []
|
| 49 |
for tag in container.find_all('a'):
|
| 50 |
tag_text = tag.get_text(strip=True)
|
| 51 |
if tag_text.startswith('#'):
|
| 52 |
hashtags.append(tag_text)
|
| 53 |
|
| 54 |
+
data.append({
|
| 55 |
+
"Title": title,
|
| 56 |
+
"Hashtags": ", ".join(hashtags)
|
| 57 |
+
})
|
| 58 |
if hashtags:
|
| 59 |
hashtags_counter.update(hashtags)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
|
| 61 |
# إعداد النصوص النهائية
|
| 62 |
titles_text = "\n".join(
|
| 63 |
f"{i+1}. {row['Title']}"
|
| 64 |
for i, row in enumerate(data)
|
| 65 |
+
if row['Title'] and row['Title'] != 'بدون عنوان' # تجاهل العناوين الفارغة
|
| 66 |
)
|
| 67 |
|
| 68 |
hashtags_text = "\n".join(
|