Visualización de temas candentes usando Python para analizar mapas de sitios de noticias


Los mapas de sitios de noticias usan protocolos de mapas de sitios diferentes y únicos para proporcionar más información a los motores de búsqueda de noticias.

Un sitemap de noticias contiene las noticias publicadas en las últimas 48 horas.

Las etiquetas del mapa del sitio de noticias incluyen el título, el idioma, el nombre, el género, la fecha de publicación, las palabras clave e incluso las cotizaciones bursátiles de la publicación de noticias.

¿Cómo puede utilizar estos mapas de sitio a su favor para la investigación de contenido y el análisis competitivo?

En este tutorial de Python, aprenderá un proceso de 10 pasos para analizar mapas de sitios de noticias y visualizar tendencias de actualidad descubiertas en ellos.

Notas de limpieza para comenzar

Este tutorial fue escrito durante la invasión rusa de Ucrania.

Usando el aprendizaje automático, incluso podemos etiquetar las fuentes de noticias y los artículos según qué fuente de noticias es «objetiva» y qué fuente de noticias es «sarcástica».

Pero para simplificar las cosas, nos centraremos en temas con análisis de frecuencia.

Usaremos más de 10 fuentes de noticias globales en los EE. UU. y el Reino Unido.

Nota: Nos gustaría incluir fuentes de noticias rusas, pero no tienen un mapa del sitio de noticias adecuado. Incluso si lo hubieran hecho, bloquean las solicitudes externas.

Comparando la aparición de palabras de “invasión” y “liberación” de fuentes de noticias occidentales y orientales muestra el beneficio de los métodos de análisis de texto de frecuencia de distribución.

Lo que necesita para analizar contenido de noticias con Python

Las bibliotecas de Python relacionadas para auditar un mapa del sitio de noticias para comprender la estrategia de contenido de la fuente de noticias se enumeran a continuación:

  • Herramientas publicitarias.
  • pandas.
  • Plotly Express, Subplots y Graph Objects.
  • Re (regex).
  • Cuerda.
  • NLTK (Corpus, Palabras vacías, Ngramas).
  • Unicodedatos.
  • Matplotlib.
  • Comprensión básica de la sintaxis de Python.

10 pasos para el análisis del mapa del sitio de noticias con Python

¿Todo listo? Hagámoslo.

1. Tome las URL de noticias del mapa del sitio de noticias

Elegimos «The Guardian», «New York Times», «Washington Post», «Daily Mail», «Sky News», «BBC» y «CNN» para examinar las URL de noticias de los mapas del sitio de noticias.

df_guardian = adv.sitemap_to_df("http://www.theguardian.com/sitemaps/news.xml")
df_nyt = adv.sitemap_to_df("https://www.nytimes.com/sitemaps/new/news.xml.gz")
df_wp = adv.sitemap_to_df("https://www.washingtonpost.com/arcio/news-sitemap/")
df_bbc = adv.sitemap_to_df("https://www.bbc.com/sitemaps/https-index-com-news.xml")
df_dailymail = adv.sitemap_to_df("https://www.dailymail.co.uk/google-news-sitemap.xml")
df_skynews = adv.sitemap_to_df("https://news.sky.com/sitemap-index.xml")
df_cnn = adv.sitemap_to_df("https://edition.cnn.com/sitemaps/cnn/news.xml")

2. Examine un mapa del sitio de noticias de ejemplo con Python

He usado BBC como ejemplo para demostrar lo que acabamos de extraer de estos mapas de sitios de noticias.

df_bbc
Ejemplo de mapa del sitio de noticiasVista del marco de datos del mapa del sitio de noticias

El mapa del sitio de la BBC tiene las siguientes columnas.

df_bbc.columns
Noticias Mapa del sitio EtiquetasNoticias Mapa del sitio Etiquetas como columnas de marco de datos

Las estructuras de datos generales de estas columnas se encuentran a continuación.

df_bbc.info()
Mapa del sitio de noticias como marco de datosNoticias Sitemap Columnas y tipos de datos

La BBC no usa la columna “news_publication” y otras.

3. Encuentra las palabras más utilizadas en las URL de las publicaciones de noticias

Para ver las palabras más utilizadas en las URL de los sitios de noticias, necesitamos usar los métodos «str», «explode» y «split».

df_dailymail["loc"].str.split("/").str[5].str.split("-").explode().value_counts().to_frame()
loc
article
176
Russian
50
Ukraine
50
says
38
reveals
38
...
...
readers
1
Red
1
Cross
1
provide
1
weekend.html
1
5445 rows × 1 column

Vemos que para el “Daily Mail”, “Rusia y Ucrania” son el tema principal.

4. Encuentra el idioma más utilizado en las publicaciones de noticias

La estructura de URL o la sección “idioma” de la publicación de noticias se puede utilizar para ver los idiomas más utilizados en las publicaciones de noticias.

En esta muestra, usamos «BBC» para ver su priorización de idioma.

df_bbc["publication_language"].head(20).value_counts().to_frame()
idioma_publicacion
en
698
fa
52
sr
52
ar
47
mr
43
hi
43
gu
41
ur
35
pt
33
te
31
ta
31
cy
30
ha
29
tr
28
es
25
sw
22
cpe
22
ne
21
pa
21
yo
20
20 rows × 1 column

Para llegar a la población rusa a través de Google News, todas las fuentes de noticias occidentales deben utilizar el idioma ruso.

Algunas instituciones de noticias internacionales comenzaron a realizar esta perspectiva.

Si usted es un SEO de noticias, es útil ver las publicaciones en ruso de los competidores para distribuir las noticias objetivas a Rusia y competir dentro de la industria de las noticias.

5. Audite los títulos de noticias por frecuencia de palabras

Usamos BBC para ver los «títulos de las noticias» y qué palabras son más frecuentes.

df_bbc["news_title"].str.split(" ").explode().value_counts().to_frame()
news_title
to
232
in
181
-
141
of
140
for
138
...
...
ፊልም
1
ብላክ
1
ባንኪ
1
ጕሒላ
1
niile
1
11916 rows × 1 columns

El problema aquí es que tenemos «todo tipo de palabras en los títulos de las noticias», como «palabras vacías sin contexto».

Necesitamos limpiar este tipo de términos no categóricos para entender mejor su enfoque.

from nltk.corpus import stopwords
stop = stopwords.words('english')
df_bbc_news_title_most_used_words = df_bbc["news_title"].str.split(" ").explode().value_counts().to_frame()
pat = r'b(?:{})b'.format('|'.join(stop))
df_bbc_news_title_most_used_words.reset_index(drop=True, inplace=True)
df_bbc_news_title_most_used_words["without_stop_words"] = df_bbc_news_title_most_used_words["words"].str.replace(pat,"")
df_bbc_news_title_most_used_words.drop(df_bbc_news_title_most_used_words.loc[df_bbc_news_title_most_used_words["without_stop_words"]==""].index, inplace=True)
df_bbc_news_title_most_used_words
Eliminar palabras vacías del análisis de textoLa columna «sin_stop_words» involucra los valores de texto limpios.

Hemos eliminado la mayoría de las palabras vacías con la ayuda del método «regex» y «reemplazar» de Pandas.

La segunda preocupación es eliminar los «puntuaciones».

Para eso, usaremos el módulo “string” de Python.

import string
df_bbc_news_title_most_used_words["without_stop_word_and_punctation"] = df_bbc_news_title_most_used_words['without_stop_words'].str.replace('[{}]'.format(string.punctuation), '')
df_bbc_news_title_most_used_words.drop(df_bbc_news_title_most_used_words.loc[df_bbc_news_title_most_used_words["without_stop_word_and_punctation"]==""].index, inplace=True)
df_bbc_news_title_most_used_words.drop(["without_stop_words", "words"], axis=1, inplace=True)
df_bbc_news_title_most_used_words
news_title
without_stop_word_and_punctation
Ukraine
110
Ukraine
v
83
v
de
61
de
Ukraine:
60
Ukraine
da
51
da
...
...
...
ፊልም
1
ፊልም
ብላክ
1
ብላክ
ባንኪ
1
ባንኪ
ጕሒላ
1
ጕሒላ
niile
1
niile
11767 rows × 2 columns

O utilice «df_bbc_news_title_most_used_words[“news_title”].to_frame()” para tomar una imagen más clara de los datos.

news_title
Ukraine
110
v
83
de
61
Ukraine:
60
da
51
...
...
ፊልም
1
ብላክ
1
ባንኪ
1
ጕሒላ
1
niile
1
11767 rows × 1 columns

Vemos 11.767 palabras únicas en las URL de la BBC, y Ucrania es la más popular, con 110 apariciones.

Hay diferentes frases relacionadas con Ucrania del marco de datos, como «Ucrania:».

El «Tokenize NLTK» se puede usar para unir este tipo de variaciones diferentes.

La siguiente sección usará un método diferente para unirlos.

Nota: si desea facilitar las cosas, use Advertools como se muestra a continuación.

adv.word_frequency(df_bbc["news_title"],phrase_len=2, rm_words=adv.stopwords.keys())

El resultado está debajo.

Análisis de Texto y WordAnálisis de texto con Advertools

“adv.word_frequency” tiene los atributos “phrase_len” y “rm_words” para determinar la longitud de la ocurrencia de la frase y eliminar las palabras vacías.

Puedes decirme, ¿por qué no lo usé en primer lugar?

Quería mostrarles un ejemplo educativo con «regex, NLTK y la cadena» para que puedan entender lo que sucede detrás de escena.

6. Visualiza las palabras más utilizadas en los títulos de las noticias

Para visualizar las palabras más utilizadas en los títulos de las noticias, puede utilizar el bloque de código a continuación.

df_bbc_news_title_most_used_words["news_title"] = df_bbc_news_title_most_used_words["news_title"].astype(int)
df_bbc_news_title_most_used_words["without_stop_word_and_punctation"] = df_bbc_news_title_most_used_words["without_stop_word_and_punctation"].astype(str)
df_bbc_news_title_most_used_words.index = df_bbc_news_title_most_used_words["without_stop_word_and_punctation"]
df_bbc_news_title_most_used_words["news_title"].head(20).plot(title="The Most Used Words in BBC News Titles")
Noticias Sitemap Python AnálisisVisualización de Ngrams de noticias

Te das cuenta de que hay una “línea discontinua”.

¿Recuerdas «Ucrania» y «Ucrania:» en el marco de datos?

Cuando eliminamos la «puntuación», el segundo y el primer valor se vuelven iguales.

Es por eso que el gráfico de líneas dice que Ucrania apareció 60 veces y 110 veces por separado.

Para evitar tal discrepancia de datos, use el bloque de código a continuación.

df_bbc_news_title_most_used_words_1 = df_bbc_news_title_most_used_words.drop_duplicates().groupby('without_stop_word_and_punctation', sort=False, as_index=True).sum()
df_bbc_news_title_most_used_words_1
news_title
without_stop_word_and_punctation
Ukraine
175
v
83
de
61
da
51
и
41
...
...
ፊልም
1
ብላክ
1
ባንኪ
1
ጕሒላ
1
niile
1
11109 rows × 1 columns

Las filas duplicadas se eliminan y sus valores se suman.

Ahora, visualicémoslo de nuevo.

7. Extraiga los N-Grams más populares de los títulos de noticias

Extraer n-gramas de los títulos de las noticias o normalizar las palabras de URL y formar n-gramas para comprender la actualidad general es útil para comprender qué publicación de noticias aborda qué tema. Así es cómo.

import nltk
import unicodedata
import re
def text_clean(content):
  lemmetizer = nltk.stem.WordNetLemmatizer()

  stopwords = nltk.corpus.stopwords.words('english')

  content = (unicodedata.normalize('NFKD', content)

    .encode('ascii', 'ignore')

    .decode('utf-8', 'ignore')

    .lower())

  words = re.sub(r'[^ws]', '', content).split()

  return [lemmetizer.lemmatize(word) for word in words if word not in stopwords]
raw_words = text_clean(''.join(str(df_bbc['news_title'].tolist())))
raw_words[:10]
OUTPUT>>>
['oneminute', 'world', 'news', 'best', 'generation', 'make', 'agyarkos', 'dream', 'fight', 'card']

El resultado muestra que hemos «lematizado» todas las palabras en los títulos de las noticias y las hemos puesto en una lista.

La lista de comprensión proporciona un atajo rápido para filtrar fácilmente cada palabra vacía.

El uso de “nltk.corpus.stopwords.words(“english”)” proporciona todas las palabras vacías en inglés.

Pero puede agregar palabras vacías adicionales a la lista para expandir la exclusión de palabras.

El “unicodedata” es para canonicalizar los caracteres.

Los caracteres que vemos son en realidad bytes Unicode como «U+2160 NÚMERO ROMANO UNO» y el carácter romano «U+0049 LETRA I MAYÚSCULA LATINA» son en realidad los mismos.

El «unicodedata.normalize» distingue las diferencias de caracteres para que el lematizador pueda diferenciar las diferentes palabras con caracteres similares entre sí.

pd.set_option("display.max_colwidth",90)

bbc_bigrams = (pd.Series(ngrams(words, n = 2)).value_counts())[:15].sort_values(ascending=False).to_frame()

bbc_trigrams = (pd.Series(ngrams(words, n = 3)).value_counts())[:15].sort_values(ascending=False).to_frame()

A continuación, verá los «n-gramas» más populares de BBC News.

Bigramas de la BBCMarco de datos NGrams de la BBC

Para visualizar simplemente los n-gramas más populares de una fuente de noticias, use el bloque de código a continuación.

bbc_bigrams.plot.barh(color="red", width=.8,figsize=(10 , 7))

“Ucrania, guerra” es la noticia de moda.

También puede filtrar los n-gramas para «Ucrania» y crear un par de «entidad-atributo».

Noticias Mapa del sitio NGramsNoticias Mapa del sitio NGrams de la BBC

Rastrear estas URL y reconocer las «entidades de tipo de persona» puede darle una idea de cómo la BBC aborda las situaciones de interés periodístico.

Pero va más allá de los «sitemaps de noticias». Por lo tanto, es para otro día.

Para visualizar los n-gramas populares de los mapas del sitio de la fuente de noticias, puede crear una función de Python personalizada como se muestra a continuación.

def ngram_visualize(dataframe:pd.DataFrame, color:str="blue") -> pd.DataFrame.plot:

     dataframe.plot.barh(color=color, width=.8,figsize=(10 ,7))
ngram_visualize(ngram_extractor(df_dailymail))

El resultado está debajo.

Visualización de N-gramasNoticias Mapa del sitio Visualización de trigramas

Para hacerlo interactivo, agregue un parámetro adicional como se muestra a continuación.

def ngram_visualize(dataframe:pd.DataFrame, backend:str, color:str="blue", ) -> pd.DataFrame.plot:

     if backend=="plotly":

          pd.options.plotting.backend=backend

          return dataframe.plot.bar()

     else:

          return dataframe.plot.barh(color=color, width=.8,figsize=(10 ,7))
ngram_visualize(ngram_extractor(df_dailymail), backend="plotly")

Como ejemplo rápido, consulte a continuación.

8. Cree sus propias funciones personalizadas para analizar los mapas del sitio de fuentes de noticias

Cuando audite mapas de sitios de noticias repetidamente, será necesario un pequeño paquete de Python.

A continuación, puede encontrar cuatro cadenas de funciones rápidas de Python diferentes que utilizan todas las funciones anteriores como una devolución de llamada.

Para limpiar un elemento de contenido textual, use la función a continuación.

def text_clean(content):

  lemmetizer = nltk.stem.WordNetLemmatizer()

  stopwords = nltk.corpus.stopwords.words('english')

  content = (unicodedata.normalize('NFKD', content)

    .encode('ascii', 'ignore')

    .decode('utf-8', 'ignore')

    .lower())

  words = re.sub(r'[^ws]', '', content).split()

  return [lemmetizer.lemmatize(word) for word in words if word not in stopwords]

Para extraer los n-gramas de los títulos de noticias del mapa del sitio de un sitio web de noticias específico, use la función a continuación.

def ngram_extractor(dataframe:pd.DataFrame|pd.Series):

     if "news_title" in dataframe.columns:

          return dataframe_ngram_extractor(dataframe,  ngram=3, first=10)

Utilice la siguiente función para convertir los n-gramas extraídos en un marco de datos.

def dataframe_ngram_extractor(dataframe:pd.DataFrame|pd.Series, ngram:int, first:int):

     raw_words = text_clean(''.join(str(dataframe['news_title'].tolist())))

     return (pd.Series(ngrams(raw_words, n = ngram)).value_counts())[:first].sort_values(ascending=False).to_frame()

Para extraer los sitemaps de varios sitios web de noticias, utilice la siguiente función.

def ngram_df_constructor(df_1:pd.DataFrame, df_2:pd.DataFrame):

  df_1_bigrams = dataframe_ngram_extractor(df_1, ngram=2, first=500)

  df_1_trigrams = dataframe_ngram_extractor(df_1, ngram=3, first=500)

  df_2_bigrams = dataframe_ngram_extractor(df_2, ngram=2, first=500)

  df_2_trigrams = dataframe_ngram_extractor(df_2, ngram=3, first=500)

  ngrams_df = {

  "df_1_bigrams":df_1_bigrams.index,

  "df_1_trigrams": df_1_trigrams.index,

  "df_2_bigrams":df_2_bigrams.index,

  "df_2_trigrams": df_2_trigrams.index,

  }

  dict_df = (pd.DataFrame({ key:pd.Series(value) for key, value in ngrams_df.items() }).reset_index(drop=True)

  .rename(columns={"df_1_bigrams":adv.url_to_df(df_1["loc"])["netloc"][1].split("www.")[1].split(".")[0] + "_bigrams",

                    "df_1_trigrams":adv.url_to_df(df_1["loc"])["netloc"][1].split("www.")[1].split(".")[0] + "_trigrams",

                    "df_2_bigrams": adv.url_to_df(df_2["loc"])["netloc"][1].split("www.")[1].split(".")[0] + "_bigrams",

                    "df_2_trigrams": adv.url_to_df(df_2["loc"])["netloc"][1].split("www.")[1].split(".")[0] + "_trigrams"}))

  return dict_df

A continuación, puede ver un ejemplo de caso de uso.

ngram_df_constructor(df_bbc, df_guardian)
Popularidad de NgramPopular Ngram Comparation para ver el enfoque de los sitios web de noticias.

Solo con estas cuatro funciones de python personalizadas anidadas puede hacer lo siguiente.

  • Fácilmente, puede visualizar estos n-gramas y el sitio web de noticias cuenta para verificar.
  • Puede ver el enfoque de los sitios web de noticias para el mismo tema o diferentes temas.
  • Puede comparar su redacción o el vocabulario de los mismos temas.
  • Puede ver cuántos subtemas diferentes de los mismos temas o entidades se procesan de forma comparativa.

No puse los números para las frecuencias de los n-gramas.

Pero, los primeros clasificados son los más populares de esa fuente de noticias específica.

Para examinar las siguientes 500 filas, haga clic en aquí.

9. Extraiga las palabras clave de noticias más utilizadas de los mapas del sitio de noticias

Cuando se trata de palabras clave de noticias, sorprendentemente todavía están activas en Google.

Por ejemplo, microsoft bing y Google no creas que las «palabras clave meta» son una señal útil, a diferencia de Yandex.

Sin embargo, todavía se utilizan palabras clave de noticias de los mapas de sitios de noticias.

Entre todas estas fuentes de noticias, solo The Guardian utiliza las palabras clave de noticias.

Y es útil comprender cómo usan las palabras clave de noticias para proporcionar relevancia.

df_guardian["news_keywords"].str.split().explode().value_counts().to_frame().rename(columns={"news_keywords":"news_keyword_occurence"})

Puede ver las palabras más utilizadas en las palabras clave de noticias para The Guardian.

news_keyword_occurence
news,
250
World
142
and
142
Ukraine,
127
UK
116
...
...
Cumberbatch,
1
Dune
1
Saracens
1
Pearson,
1
Thailand
1
1409 rows × 1 column

La visualización está debajo.

(df_guardian["news_keywords"].str.split().explode().value_counts()

.to_frame().rename(columns={"news_keywords":"news_keyword_occurence"})

.head(25).plot.barh(figsize=(10,8),

title="The Guardian Most Used Words in News Keywords", xlabel="News Keywords",

legend=False, ylabel="Count of News Keyword"))

Palabras más populares en palabras clave de noticiasPalabras más populares en palabras clave de noticias

El “,” al final de las palabras clave de noticias representa si se trata de un valor separado o parte de otro.
Le sugiero que no elimine los «puntuaciones» o «palabras vacías» de las palabras clave de noticias para que pueda ver mejor su estilo de uso de palabras clave de noticias.

Para un análisis diferente, puede utilizar “,” como separador.

df_guardian["news_keywords"].str.split(",").explode().value_counts().to_frame().rename(columns={"news_keywords":"news_keyword_occurence"})

La diferencia de resultados se muestra a continuación.

news_keyword_occurence
World news
134
Europe
116
UK news
111
Sport
109
Russia
90
...
...
Women's shoes
1
Men's shoes
1
Body image
1
Kae Tempest
1
Thailand
1
1080 rows × 1 column

Concéntrese en la «división («,»)».

(df_guardian["news_keywords"].str.split(",").explode().value_counts()

.to_frame().rename(columns={"news_keywords":"news_keyword_occurence"})

.head(25).plot.barh(figsize=(10,8),

title="The Guardian Most Used Words in News Keywords", xlabel="News Keywords",

legend=False, ylabel="Count of News Keyword"))

Puede ver la diferencia de resultados para la visualización a continuación.

Palabras clave más populares de los sitemaps de noticiasPalabras clave más populares de los sitemaps de noticias

Desde «Chelsea» hasta «Vladamir Putin» o «Guerra de Ucrania» y «Roman Abramovich», la mayoría de estas frases se alinean con los primeros días de la invasión rusa de Ucrania.

Utilice el bloque de código siguiente para visualizar de forma interactiva dos palabras clave de noticias de sitemaps de sitios web de noticias diferentes.

df_1 = df_guardian["news_keywords"].str.split(",").explode().value_counts().to_frame().rename(columns={"news_keywords":"news_keyword_occurence"})

df_2 = df_nyt["news_keywords"].str.split(",").explode().value_counts().to_frame().rename(columns={"news_keywords":"news_keyword_occurence"})

fig = make_subplots(rows = 1, cols = 2)

fig.add_trace(

     go.Bar(y = df_1["news_keyword_occurence"][:6].index, x = df_1["news_keyword_occurence"], orientation="h", name="The Guardian News Keywords"), row=1, col=2

)

fig.add_trace(

     go.Bar(y = df_2["news_keyword_occurence"][:6].index, x = df_2["news_keyword_occurence"], orientation="h", name="New York Times News Keywords"), row=1, col=1

)

fig.update_layout(height = 800, width = 1200, title_text="Side by Side Popular News Keywords")

fig.show()

fig.write_html("news_keywords.html")

Puedes ver el resultado a continuación.

Para interactuar con el gráfico en vivo, haga clic en aquí.

En la siguiente sección, encontrará dos muestras de subparcelas diferentes para comparar los n-gramas de los sitios web de noticias.

10. Crea tramas secundarias para comparar fuentes de noticias

Use el bloque de código a continuación para colocar los n-gramas más populares de las fuentes de noticias de los títulos de las noticias en una trama secundaria.

import matplotlib.pyplot as plt

import pandas as pd

df1 = ngram_extractor(df_bbc)

df2 = ngram_extractor(df_skynews)

df3 = ngram_extractor(df_dailymail)

df4 = ngram_extractor(df_guardian)

df5 = ngram_extractor(df_nyt)

df6 = ngram_extractor(df_cnn)

nrow=3

ncol=2

df_list = [df1 ,df2, df3, df4, df5, df6] #df6

titles = ["BBC News Trigrams", "Skynews Trigrams", "Dailymail Trigrams", "The Guardian Trigrams", "New York Times Trigrams", "CNN News Ngrams"]

fig, axes = plt.subplots(nrow, ncol, figsize=(25,32))

count=0

i = 0

for r in range(nrow):

    for c in range(ncol):

        (df_list[count].plot.barh(ax = axes[r,c],

        figsize = (40, 28),

        title = titles[i],

        fontsize = 10,

        legend = False,

        xlabel = "Trigrams",

        ylabel = "Count"))        

        count+=1

        i += 1

Puedes ver el resultado a continuación.

Fuente de noticias NGramsNGrams más populares de fuentes de noticias

La visualización de datos de ejemplo anterior es completamente estática y no proporciona ninguna interactividad.

Últimamente, Elias Dabascreador de Advertools, ha compartido un nuevo script para tomar el conteo de artículos, n-grams y sus conteos de las fuentes de noticias.

Cheque aquí para obtener un tablero de datos mejor, más detallado e interactivo.

El ejemplo anterior es de Elias Dabbas, y demuestra cómo tomar el recuento total de artículos, las palabras más frecuentes y los n-gramas de los sitios web de noticias de forma interactiva.

Reflexiones finales sobre el análisis del mapa del sitio de noticias con Python

Este tutorial fue diseñado para proporcionar una sesión educativa de codificación de Python para tomar las palabras clave, n-gramas, patrones de frases, idiomas y otros tipos de información relacionada con SEO de sitios web de noticias.

El SEO de noticias depende en gran medida de los reflejos rápidos y la creación de artículos siempre activos.

El seguimiento de los ángulos y métodos de sus competidores para tapar un tema muestra cómo los competidores tienen reflejos rápidos para las tendencias de búsqueda.

Sería mejor crear un Panel de tendencias de Google y un Rastreador de Ngram de fuentes de noticias para un análisis SEO de noticias comparativo y complementario.

En este artículo, de vez en cuando, he puesto funciones personalizadas o bucles for avanzados y, a veces, he simplificado las cosas.

Los principiantes y los profesionales avanzados de Python pueden beneficiarse de él para mejorar sus metodologías de seguimiento, generación de informes y análisis para el SEO de noticias y mucho más.

Más recursos:


Imagen destacada: BestForBest/Shutterstock





Consultar el artículo en la publicación original

Visualización de temas candentes usando Python para analizar mapas de sitios de noticias
A %d blogueros les gusta esto: