KIMOSSINO commited on
Commit
a10305f
·
verified ·
1 Parent(s): 0cfa117

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -57
app.py CHANGED
@@ -5,90 +5,38 @@ import gradio as gr
5
 
6
  def extract_data_from_html(file):
7
  try:
8
- # قراءة محتوى الملف
9
  content = file.read().decode('utf-8')
10
  except Exception as e:
11
  return f"خطأ أثناء قراءة الملف: {str(e)}", None
12
 
13
- # تحليل HTML باستخدام BeautifulSoup
14
  soup = BeautifulSoup(content, 'html.parser')
15
 
16
- # استخراج البيانات
17
  data = []
18
  hashtags_counter = Counter()
19
 
20
- # العثور على الحاويات التي تحتوي على البيانات
21
- desc_containers = soup.find_all('div', class_="css-vi46v1-DivDesContainer")
22
  print(f"عدد الحاويات التي تم العثور عليها: {len(desc_containers)}")
23
-
24
- for container in desc_containers:
25
- # طباعة كل حاوية لتحليلها
26
- print(container.prettify()) # طباعة محتوى الحاوية
27
-
28
- # استخراج العنوان
29
- title_tag = container.find('h1', class_="css-198cw7i-H1Container")
30
- title = title_tag.get_text(strip=True) if title_tag else "بدون عنوان"
31
- print(f"العنوان: {title}")
32
-
33
- # استخراج الهاشتاغات
34
- hashtags = [
35
- tag.get_text(strip=True)
36
- for tag in container.find_all('a', class_="css-sbcvet-StyledCommonLink")
37
- if tag.get_text(strip=True).startswith('#')
38
- ]
39
- print(f"الهاشتاغات: {hashtags}")
40
- hashtags_counter.update(hashtags)
41
-
42
- # إضافة البيانات إلى القائمة
43
- data.append({"Title": title, "Hashtags": ", ".join(hashtags)})
44
-
45
- # تحويل البيانات إلى DataFrame
46
- df_titles = pd.DataFrame(data)
47
- df_hashtags = pd.DataFrame(hashtags_counter.items(), columns=["Hashtag", "Count"]).sort_values(by="Count", ascending=False)
48
-
49
- return df_titles, df_hashtags
50
-
51
-
52
-
53
-
54
- def extract_data_from_html(file):
55
- try:
56
- # قراءة محتوى الملف المرفوع
57
- content = file.read().decode('utf-8')
58
- except Exception as e:
59
- return f"خطأ أثناء قراءة الملف: {str(e)}", None
60
-
61
- # تحليل HTML باستخدام BeautifulSoup
62
- soup = BeautifulSoup(content, 'html.parser')
63
 
64
- # استخراج البيانات
65
- data = []
66
- hashtags_counter = Counter()
67
-
68
- # العثور على الحاويات التي تحتوي على البيانات
69
- desc_containers = soup.find_all('div', class_="css-vi46v1-DivDesContainer")
70
  for container in desc_containers:
71
- # استخراج العنوان
72
- title_tag = container.find('h1', class_="css-198cw7i-H1Container")
73
  title = title_tag.get_text(strip=True) if title_tag else "بدون عنوان"
74
 
75
- # استخراج الهاشتاغات
76
  hashtags = [
77
  tag.get_text(strip=True)
78
- for tag in container.find_all('a', class_="css-sbcvet-StyledCommonLink")
79
  if tag.get_text(strip=True).startswith('#')
80
  ]
81
  hashtags_counter.update(hashtags)
82
 
83
- # إضافة البيانات إلى القائمة
84
  data.append({"Title": title, "Hashtags": ", ".join(hashtags)})
85
 
86
- # تحويل البيانات إلى DataFrame
87
  df_titles = pd.DataFrame(data)
88
  df_hashtags = pd.DataFrame(hashtags_counter.items(), columns=["Hashtag", "Count"]).sort_values(by="Count", ascending=False)
89
 
90
  return df_titles, df_hashtags
91
 
 
92
  # واجهة Gradio
93
  def gradio_interface(file):
94
  result = extract_data_from_html(file)
 
5
 
6
  def extract_data_from_html(file):
7
  try:
 
8
  content = file.read().decode('utf-8')
9
  except Exception as e:
10
  return f"خطأ أثناء قراءة الملف: {str(e)}", None
11
 
 
12
  soup = BeautifulSoup(content, 'html.parser')
13
 
 
14
  data = []
15
  hashtags_counter = Counter()
16
 
17
+ # البحث عن جميع العناصر التي تحتوي على البيانات
18
+ desc_containers = soup.find_all('div') # البحث عن جميع الحاويات العامة
19
  print(f"عدد الحاويات التي تم العثور عليها: {len(desc_containers)}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
 
 
 
 
 
 
21
  for container in desc_containers:
22
+ title_tag = container.find('h1')
 
23
  title = title_tag.get_text(strip=True) if title_tag else "بدون عنوان"
24
 
 
25
  hashtags = [
26
  tag.get_text(strip=True)
27
+ for tag in container.find_all('a')
28
  if tag.get_text(strip=True).startswith('#')
29
  ]
30
  hashtags_counter.update(hashtags)
31
 
 
32
  data.append({"Title": title, "Hashtags": ", ".join(hashtags)})
33
 
 
34
  df_titles = pd.DataFrame(data)
35
  df_hashtags = pd.DataFrame(hashtags_counter.items(), columns=["Hashtag", "Count"]).sort_values(by="Count", ascending=False)
36
 
37
  return df_titles, df_hashtags
38
 
39
+
40
  # واجهة Gradio
41
  def gradio_interface(file):
42
  result = extract_data_from_html(file)