一键自动化博客发布工具,用过的人都说好(腾讯云篇)

· 浏览次数 : 0

小编点评

**腾讯云自动发布工具实现方式** **步骤 1:打开博客平台** 使用您的浏览器打开腾讯云博客平台的网站(example.com)。 **步骤 2:找到博客自动发布工具** 在博客平台的右上角或页面中央,搜索“博客自动发布工具”。您可以找到腾讯云的官方工具,或者您可以使用其他托管平台的工具。 **步骤 3:下载并安装工具** 下载腾讯云的工具,并按照屏幕上的说明安装。 **步骤 4:登录工具** 运行工具,并登录您的腾讯云帐户。 **步骤 5:选择文章来源** 在工具中,选择文章来源,并将其设置为“原创”。 **步骤 6:选择文章分类** 在工具中,选择文章分类,并将其设置为“默认”。 **步骤 7:选择文章标签** 在工具中,选择文章标签,并将其设置为“无标签”。 **步骤 8:设置关键词** 在工具中,选择关键词,并将其设置为要发布文章的关键词。 **步骤 9:选择专栏** 在工具中,选择专栏,并将其设置为要发布文章的专栏。 **步骤 10:设置封面图片** 在工具中,选择封面图片,并将其设置为“选择图片”。 **步骤 11:发布文章** 点击“发布文章”按钮,您的文章将被发布到腾讯云博客平台。 **注意:** * 您可以根据需要调整工具中的设置。 * 某些工具可能需要您输入用户名和密码。 * 您可以使用任何您喜欢的浏览器打开腾讯云博客平台。

正文

之前说过blog-auto-publishing-tools的实现方式是连到现有的浏览器中,而不是使用内置的浏览器。

其中一个很大程度的原因是像腾讯云这种博客发布平台几乎每天都需要重新登录一次,登录还需要手机扫码。所以自动化实现起来非常复杂。

所以,我们需要一个已经登录好的浏览器,来实现自动化功能。

前提条件

前提条件当然是先下载 blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.com/ddean2009/blog-auto-publishing-tools

腾讯云的实现

切换到markdown编辑器

腾讯云有两个编辑器,一个是markdown,一个是富文本。

这个两个选项是没法设置的,我感觉是随机的,所以我们需要一个机制来保证我们现在是在markdown编辑器中。

image-20240509211357943

可以看到这个切换到富文本编辑器是一个div,里面包含了一个img和一个a标签。

我们可以通过判断a标签中的文字来确定现在是在富文本编辑器中,还是在markdown编辑器中。

实现方式如下:

    # 切换到markdown编辑器
    a_switch = driver.find_element(By.XPATH, '//div[@class="col-editor-switch"]//a')
    # 获取a元素的文本内容
    text_content = a_switch.text
    if text_content == '切换到Markdown编辑器':
        a_switch.click()
    time.sleep(2)

拿到元素之后,获取他的text,然后判断text的内容。

文章标题

腾讯云的文章标题是一个textarea,我们可以通过placeholder来定位到这个元素:

    # 文章标题
    title = driver.find_element(By.XPATH, '//textarea[@placeholder="请输入标题"]')
    title.clear()
    title.send_keys(common_config['title'])
    time.sleep(2)  # 等待3秒

文章内容

腾讯云的文章内容编辑器是一个叫做monaco-editor的东西。

这种编辑器会根据文章内容,动态变化html的内容。所以对于这种编辑器来说,我们需要使用到拷贝粘贴的方法。

# 文章内容 markdown版本, 腾讯云不能有引流链接
    file_content = read_file(common_config['content'])
    # 用的是CodeMirror,不能用元素赋值的方法,所以我们使用拷贝的方法
    cmd_ctrl = Keys.COMMAND if sys.platform == 'darwin' else Keys.CONTROL
    # 将要粘贴的文本内容复制到剪贴板
    pyperclip.copy(file_content)
    action_chains = webdriver.ActionChains(driver)
    content = driver.find_element(By.XPATH, '//div[contains(@class,"draft-markdown-editor")]//div[@class="view-line"]')
    content.click()
    time.sleep(2)
    # 模拟实际的粘贴操作
    action_chains.key_down(cmd_ctrl).send_keys('v').key_up(cmd_ctrl).perform()
    time.sleep(3)  # 等待3秒

粘贴的时候需要定位到文章编辑器的位置,点击一下,然后才能进行粘贴。

发布文章

接下来就可以点击发布文章按钮了。

    # 发布文章
    send_button = driver.find_element(By.XPATH, '//button[contains(@class, "c-btn") and contains(text(),"发布")]')
    send_button.click()
    time.sleep(2)

点击发布按钮之后,会在侧边栏弹出一个对话框,如下所示:

image-20240509214834483

这里可以选择文章来源,文章分类,文章标签和自定义关键字这些内容。

文章来源

文章来源我们就选择原创了,文章来源是一个input,我们可以使用下面的方法来定位:

    # 文章来源
    source = driver.find_element(By.XPATH, '//ul[@class="com-check-list"]/li/label/span[contains(text(),"原创")]')
    source.click()
    time.sleep(2)

文章分类

文章分类比较复杂点。

我们需要先点击文章分类下拉框,然后在输入框中输入要设置的文章分类。

实现代码如下:

        article_type_select = driver.find_element(By.XPATH, '//section[@class="col-editor-sidebar publish"]//div[@class="tea-dropdown col-editor-classify is-expanded"]/div')
        article_type_select.click()
        time.sleep(1)
        article_type_element = driver.find_element(By.XPATH,f'//div[@class="tea-dropdown-box"]//ul//li//label//span[text()="{article_type}"]')
        article_type_element.click()
        time.sleep(1)

文章标签

文章标签需要选择标签输入框,然后根据设置好的标签内容,输入到输入框中,然后回车即可:

        tag_label = driver.find_element(By.XPATH,
                                        '//div[@class="com-2-tag-cont"]/label[contains(text(),"搜索并选择合适的标签")]')
        tag_input = tag_label.find_element(By.XPATH, '../input[@class="com-2-tag-input"]')
        for tag in tags:
            tag_input.send_keys(tag)
            time.sleep(1)
            tag_input.send_keys(Keys.ENTER)
            time.sleep(1)

关键词

自定义关键词和文章标签的实现方式很类似,也是先找到自定义关键词框,点击,然后输入,最后回车即可:

        keyword_label = driver.find_element(By.XPATH, '//div[@class="com-2-tag-cont"]/label[contains(text(),"最多5个关键词")]')
        keyword_input = keyword_label.find_element(By.XPATH, '../input[@class="com-2-tag-input"]')
        for keyword in keywords:
            keyword_input.send_keys(keyword)
            time.sleep(1)
            keyword_input.send_keys(Keys.ENTER)
            time.sleep(1)

专栏

腾讯云的专栏是一个个的checkbox,我们可以通过他的具体内容来选择:

        zhuanlan_element = driver.find_element(By.XPATH, f'//span[@class="col-editor-create-name" and contains(text(),"{zhuanlan}")]')
        zhuanlan_element.click()

封面图片

腾讯云的封面图片是一个input,带有id的,所以实现起来比较简单:

        file_input = driver.find_element(By.ID, "editor-upload-input")
        # 文件上传不支持远程文件上传,所以需要把图片下载到本地
        file_input.send_keys(download_image(front_matter['image']))
        time.sleep(2)

最后的发布按钮

最后就是发布按钮了:

        publish_button = driver.find_element(By.XPATH, '//div[contains(@class,"block c-btn") and contains(text(),"确认发布")]')
        publish_button.click()

我们通过包含的text来选择。

总结

腾讯云的选项比较多,实现起来也比较复杂。

点我查看更多精彩内容:www.flydean.com

与一键自动化博客发布工具,用过的人都说好(腾讯云篇)相似的内容:

一键自动化博客发布工具,用过的人都说好(公众号篇)

之前收到很多朋友的要求,说是需要一个公众号的自动发布工具。 现在,它来了。 前提条件 前提条件当然是先下载 blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.com/ddean2009/blog-auto-publishing-tool

一键自动化博客发布工具,用过的人都说好(知乎篇)

我们已经学习了很多自动化的知识了,接下来让我们看看在blog-auto-publishing-tools中是如何实现自动发送博文到知乎的。 前提条件 前提条件当然是先下载 blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.com/dde

一键自动化博客发布工具,用过的人都说好(腾讯云篇)

虽然头条现在非常强大,但是我还是不得不吐槽一下头条的博客发布,居然不支持markdown格式。 并且在某些浏览器上还会出现编辑页面打不开的情况,让我一度怀疑是我浏览器的问题。 不过,这都不重要,重要的是blog-auto-publishing-tools这个工具可以实现头条的自动化。 前提条件 前提

一键自动化博客发布工具,用过的人都说好(腾讯云篇)

之前说过blog-auto-publishing-tools的实现方式是连到现有的浏览器中,而不是使用内置的浏览器。 其中一个很大程度的原因是像腾讯云这种博客发布平台几乎每天都需要重新登录一次,登录还需要手机扫码。所以自动化实现起来非常复杂。 所以,我们需要一个已经登录好的浏览器,来实现自动化功能。

一键自动化博客发布工具,用过的人都说好(掘金篇)

终于要讲解我们亲爱的掘金了。掘金是一个非常不错的平台。所以很多朋友会把博客发布到掘金上。 发布到掘金要填写的内容也比较多。今天给大家介绍一下如何用blog-auto-publishing-tools这个工具自动把博客发布到掘金平台上去。 前提条件 前提条件当然是先下载 blog-auto-publi

一键自动化博客发布工具,用过的人都说好(51cto篇)

51cto是一个优秀的博客平台,今天给大家讲解一下blog-auto-publishing-tools如何自动发布博客到51cto上。 当然在实现过程中有可能会遇到各种困难,不过不用担心,我们一个个来解决。 前提条件 前提条件当然是先下载 blog-auto-publishing-tools这个博客

一键自动化博客发布工具,用过的人都说好(csdn篇)

CSDN应该是大家接触到最多的博客平台了,所以一款能够发布到CSDN的自动化工具还是非常有必要的。 今天给大家讲讲自动化CSDN博客发布的思路和一些问题的解决办法。 解决问题的思路一定是最重要的,知识是死的,问题是活的,如何在工作中解决遇到的问题是我们需要面临的大问题。 前提条件 前提条件当然是先下

一键自动化博客发布工具,用过的人都说好(infoq篇)

infoq的博客发布界面也是非常简洁的。首页就只有基本的标题,内容和封面图片,所以infoq的实现也相对比较简单。 一起来看看吧。 前提条件 前提条件当然是先下载 blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.com/ddean20

一键自动化博客发布工具,用过的人都说好(cnblogs篇)

cnblogs和其他的博客平台相比会比较复杂,需要设置的项目也比较多一些,弄懂了cnblogs的实现方式,那么你应该对selenium的整个框架使用已经烂熟于心了。 除了正常的标题,内容,摘要之外,cnblogs还需要设置个人分类,合集,投稿选项,投稿至网站分类,tags标签等内容。 要填的东西比较

一键自动化博客发布工具,用过的人都说好(阿里云篇)

阿里云有个开发者社区,入驻过的朋友可能想要把自己的博客发布到阿里云社区上。 今天我来介绍一下blog-auto-publishing-tools自动发布博客到阿里云的实现原理。 阿里云的博客发布界面比较简单,只有标题,正文,摘要,关联试用产品,发布子社区,文章图片这几个选项。 一起来看看如何实现吧。