You can split the headline into words, explode the array of words, group by the words, and count the words.
import pyspark.sql.functions as F
result = date_range.withColumn('words', F.explode(F.split('headline_text', ' ')))
.groupBy('words')
.count()
.orderBy(F.desc('count'))
.limit(10)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…