blazingbunny commited on
Commit
415b0ee
0 Parent(s):

Duplicate from blazingbunny/sitemap-to-df-advertoolsv2

Browse files
Files changed (4) hide show
  1. .gitattributes +35 -0
  2. README.md +13 -0
  3. app.py +60 -0
  4. requirements.txt +5 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Sitemap To Df Advertools
3
+ emoji: 🔥
4
+ colorFrom: pink
5
+ colorTo: green
6
+ sdk: streamlit
7
+ sdk_version: 1.25.0
8
+ app_file: app.py
9
+ pinned: false
10
+ duplicated_from: blazingbunny/sitemap-to-df-advertoolsv2
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Importing libraries
2
+ import streamlit as st
3
+ import matplotlib.pyplot as plt
4
+ from advertools import sitemap_to_df
5
+ import pandas as pd
6
+
7
+ # Title
8
+ st.title("Sitemap Analyzer")
9
+
10
+ # Sidebar inputs for up to 4 sitemaps
11
+ sitemap_urls = [
12
+ st.sidebar.text_input("Enter the sitemap URL 1:", ""),
13
+ st.sidebar.text_input("Enter the sitemap URL 2:", ""),
14
+ st.sidebar.text_input("Enter the sitemap URL 3:", ""),
15
+ st.sidebar.text_input("Enter the sitemap URL 4:", "")
16
+ ]
17
+
18
+ # Colors for sitemaps
19
+ colors = ['green', 'blue', 'violet', 'yellow']
20
+
21
+ # Displaying legend in the sidebar
22
+ st.sidebar.markdown("### Legend")
23
+ for idx, sitemap_url in enumerate(sitemap_urls):
24
+ if sitemap_url:
25
+ st.sidebar.markdown(f"{sitemap_url}: <span style='color:{colors[idx]}'>■</span>", unsafe_allow_html=True)
26
+
27
+ for idx, sitemap_url in enumerate(sitemap_urls):
28
+ if sitemap_url:
29
+ try:
30
+ # Fetching the sitemap data
31
+ sitemap_data = sitemap_to_df(sitemap_url)
32
+ sitemap_data['lastmod'] = pd.to_datetime(sitemap_data['lastmod'])
33
+
34
+ # Displaying the DataFrame
35
+ st.subheader(f"{sitemap_url}")
36
+ st.dataframe(sitemap_data)
37
+
38
+ # Plotting trends
39
+ for trend_name, resample_rule, ylabel in [("Yearly", "A", "Count"), ("Monthly", "M", "Count"), ("Weekly", "W", "Count")]:
40
+ st.subheader(f"{trend_name} Trends for {sitemap_url}")
41
+ fig, ax = plt.subplots(figsize=(10, 6)) # Adjusting figure size for wider charts
42
+ if trend_name == "Weekly":
43
+ trends = sitemap_data['lastmod'].dt.dayofweek.value_counts().sort_index()
44
+ trends.index = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
45
+ else:
46
+ trends = sitemap_data.resample(resample_rule, on='lastmod').size()
47
+ ax.bar(trends.index, trends.values, color=colors[idx])
48
+ ax.set_ylabel(ylabel)
49
+ ax.set_title(f"{trend_name} Trends")
50
+ st.pyplot(fig)
51
+
52
+ # Total number of URLs
53
+ st.subheader(f"Total Number of URLs for {sitemap_url}")
54
+ total_urls = len(sitemap_data)
55
+ st.write(f"The total number of URLs in the sitemap is {total_urls}.")
56
+
57
+ except Exception as e:
58
+ st.write(f"An error occurred for {sitemap_url}:", str(e))
59
+ else:
60
+ st.write("Please enter at least one sitemap URL to analyze.")
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ streamlit
2
+ advertools
3
+ plotly
4
+ pandas
5
+ matplotlib