这个 Python 脚本如何每天为我带来收入

使用数据科学和编程知识开始被动收入流

我最近开始了一个新网站。但我如何将其货币化?

拥有一个产生被动收入的网站并不容易。您需要做的第一件事是放置广告。但是,如果你不能产生流量,这些广告有什么用呢?

让我们产生流量并使用我们的编程技能

流量需要 SEO(搜索引擎优化)。产生流量涉及多个部分。除了高质量的内容、URL、图片等,真正重要的是你使用的关键词。

这就是我的 Python 编程知识派上用场的地方。我想生成不仅与我的主题相关而且应该在 Google 上流行的关键字(标签)。

首先是代码

这是我创建以下脚本的地方:

import re
from string import punctuation

import nltk
from nltk import TreebankWordTokenizer, sent_tokenize
from nltk.corpus import stopwords


class KeywordsGenerator:
    def __init__(self, pytrends):
        self._pytrends = pytrends

    def generate_tags(self, file_path, top_words=30):
        file_text = self._get_file_contents(file_path)
        clean_text = self._remove_noise(file_text)
        top_words = self._get_top_words(clean_text, top_words)
        suggestions = []
        for top_word in top_words:
            suggestions.extend(self.get_suggestions(top_word))
        suggestions.extend(top_words)
        tags = self._clean_tokens(suggestions)
        return ",".join(list(set(tags)))

    def _remove_noise(self, text):
        #1. Convert Text To Lowercase and remove numbers
        lower_case_text = str.lower(text)
        just_text = re.sub(r'\d+', '', lower_case_text)
        #2. Tokenise Paragraphs To words
        list = sent_tokenize(just_text)
        tokenizer = TreebankWordTokenizer()
        tokens = tokenizer.tokenize(just_text)
        #3. Clean text
        clean = self._clean_tokens(tokens)
        return clean

    def _clean_tokens(self, tokens):
        clean_words = [w for w in tokens if w not in punctuation]
        stopwords_to_remove = stopwords.words("english")
        clean = [w for w in clean_words if w not in stopwords_to_remove and not w.isnumeric()]
        return clean

    def get_suggestions(self, keyword):
        print(f'Searching pytrends for {keyword}')
        result = []
        self._pytrends.build_payload([keyword], cat=0, timeframe='today 12-m')
        data = self._pytrends.related_queries()[keyword]['top']
        if data is None or data.values is None:
            return result
        result.extend([x[0] for x in data.values.tolist()][:2])
        return result

    def _get_file_contents(self, file_path):
        return open(file_path, "r", encoding='utf-8',errors='ignore').read()

    def _get_top_words(self, words, top):
        counts = dict()

        for word in words:
            if word in counts:
                counts[word] += 1
            else:
                counts[word] = 1

        return list({k: v for k, v in sorted(counts.items(), key=lambda item: item[1])}.keys())[:top]


if __name__ == "1__main__":
    from pytrends.request import TrendReq

    nltk.download('punkt')
    nltk.download('stopwords')
    pytrends = TrendReq(hl='en-GB', tz=360)
    tags = KeywordsGenerator(pytrends)\
              .generate_tags('text_file.txt')
    print(tags)

然后是依赖项

运行此脚本所需的包是:

nltk==3.7 
pytrends==4.8.0

脚本解释

我将我的文章内容复制并粘贴到一个文本文件中:‘text_file.txt’ 然后代码选择该文件并将关键字作为逗号分隔的字符串提供给我。

为达到这个:

  1. 我创建了一个名为 KeywordsGenerator 的类
  2. 这个类有一个功能:generate_tags
  3. 该函数generate_tags执行以下任务:
  • 从文本文件中获取内容
  • 使用 NLP 通过将句子标记为单词、删除标点符号、数字等来清理文本。
  • 通过出现次数获取最相关的单词
  • 然后对于每个单词,使用pytrends API从 Google 获取趋势相似的术语
  • 最后用逗号加入单词列表

4. 然后我使用关键字并将它们粘贴到我网站的 SEO 区域。

这些术语不仅与我的主题相关,而且在 Google 上也很流行。自从有了新的关键字,我的网站的排名一直在上升,并且正在产生流量。所以,嘿,这个简单的脚本是我们如何利用我们的知识并充分利用它的方式。我想分享脚本,以防有人遇到类似的挑战。

我希望它也可以帮助大家将您们的作品货币化。

猜你喜欢

转载自blog.csdn.net/mopanchun/article/details/127794750