采集文章自动发博客,自动化发布平台

一键自动化博客发布工具,用过的人都说好(oschina篇)oschina和segmentfault一样,界面非常的清爽。界面上除了必须的标题,内容之外,还有文章

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

oschina 和segmentfault一样,界面非常清新。

界面除了需要的标题和内容外,还有文章相册、宣传区等几个选项。

让我们看看如何使用blog-auto-publishing-tools 自动发布到oschina。

前提条件

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

oschina的实现

现在我们来一步步看看oschina是如何实现自动化的。

oschina的配置文件

oschina除了标题和内容外,还需要文章相册和推广区。

da9f27878190417f93b826fc48a823b4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717796292&x-signature=v%2Bo5tuLVA67y14CcIY3ZO6YbryM%3D

图片-20240506225816971

所以你的配置文件可能看起来像这样:

site: https://my.oschina.net/flydean/blog/write#相册收藏: 程序相关#推广专区:45 骆驼中文社区#44 ChatGPT #43 非结构化数据#28 大前端#27 开发技巧#10 数据库#9 云计算#17飞桨专区#16 OpenHarmony 专区#19 开源治理#46 银河麒麟专区#14 编程生活#26 软件架构#15 行业趋势#11 硬件物联网#8 人工智能大数据#39 MindSpore #35 OpenVINO 中国中文社区#42 摸鱼专区# 41 OneOS #40 华为开发者联盟#38 PostgreSQL #37 Linux 基金会开源软件大学#36 OSCTraining #34 EdgeX 中文社区#31 鲲鹏专区#30 openEuler #25 信息安全#24 运维#23 软件测试#22 网络技术#21 游戏开发#20 多媒体处理#13 DevOps #6 区块链主题: 开发技能(集合是用户创建的文章的集合)。

只需选择oschina 包含的主题之一即可。

oschina的实现代码

所有发布者都位于发布者目录中。您将在下面找到oschina 特定的发布者oschina_publisher。

首先你需要打开一个新标签页并切换到oschina的博客发布页面。

填充文章内容

首先我们看一下页面上的文章内容信息。

b3c80bffece24eedb0cfbd20224b0a47~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717796292&x-signature=34vmW1aJPnVWhTA3IQVwfz6x9bM%3D

图片-20240506230435279

可以看到oschina还使用了CodeMirror这个开源的代码编辑工具。

该工具与传统文本和textArea的不同之处在于,它的元素会根据输入动态变化,因此很难像传统页面那样直接使用send_keys来填充内容。

那么如何将内容输入CodeMirror呢?

由于send_keys 不起作用,您可以以不同的方式思考它,例如使用系统自己的复制和粘贴功能。

首先,确定内容的输入位置,粘贴需要输入的内容。

# 文章内容file_content=read_file_with_footer(common_config[‘content’]) # 由于使用CodeMirror 时无法使用元素赋值方式,所以使用复制方式cmd_ctrl=Keys.COMMAND if sys.platform==’darwin’ else CONTROL Keys 。 # 复制文本内容粘贴到剪贴板pyperclip.copy(file_content) action_chains=webdriver.ActionChains(driver) # 查找初始内容描述文本content=driver.find_element(By.XPATH, ‘//div[ @class=’CodeMirror-code ‘]//span[@role=’presentation’]’) content.click() # 模拟一次实际的粘贴操作action_chains.key_down(cmd_ctrl).send_keys(‘v’ ).key_up(cmd_ctrl).perform() 的时候。 sleep(3) # 等待3 秒,直到找到元素。在CodeMirror-code 类中找到带有role=presentation 的跨度。

这里我们使用xpath定位。

接下来,使用ActionChains来模拟系统的粘贴操作。

填充文章的标题

标题部分比较简单。我有一个姓名字段。

ec6609dd98f7476ea5209c45dfaf1478~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717796292&x-signature=nZdYEEa0gKUgEbHoRHeE20vGD9I%3D

图片-20240506232051687

所以你可以这样使用它:

# 文章标题title=driver.find_element(By.NAME, ‘title’) title.clear() title.send_keys(common_config[‘title’]) time.sleep(2) # 等待3 秒

文章专辑

然后,当您点击“发布文章”按钮,会出现一个弹出框。

现在您需要填写文章相册。

7d9a440970cf4384aa60afb8a976f7cb~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717796292&x-signature=EZ66X0nxFrPbG6LMGlzSRbIypPU%3D

图片-20240506225816971

文章相册需要两个步骤。

第一步是单击下拉框。

category_select=driver.find_element(By.XPATH, ‘//div[contains(@class, ‘选择下拉目录-Select’)]’)category_select.click()这里,用xpath来查找下拉框就可以了。

第二步,从下拉框中选择对应的文章相册。

select_element=Category_select.find_element(By。有一个专辑名称列表可供选择。

推广专区

促销区域与文章相册非常相似;都是下拉框。

同样,先点击下拉框。

执行topic_select=driver.find_element(By.XPATH, ‘//div[contains(@class, ‘Select Dropdown Group’)]’)topic_select.click()选择对应的推广区域。

topic_item=topic_select.find_element(By.XPATH, f’//div[contains(text(), ‘{topic}’)]’)topic_item.click()

发布按钮

最后一步是点击发布按钮发布:

inform_button=driver.find_element(By.XPATH, ‘//div[contains(@class,’提交按钮启用按钮’)]’)confirm_button.click()

总结

这样oschina的自动发布就完成了。马苏。 oschina比较简单,没有封面上传:-)

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

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/84511.html

(0)
小条的头像小条
上一篇 2024年6月1日 上午5:01
下一篇 2024年6月1日 上午5:38

相关推荐

  • 如何利用seo优化提升网站排名?

    你是否曾经想过如何让自己的网站在搜索引擎中排名靠前?或许你已经听说过SEO优化这个词,但不知道具体是什么?不要担心,本文将为你解答一切。从什么是SEO到如何进行SEO优化,再到提升…

    行业资讯 2024年4月8日
    0
  • seo分析

    SEO分析,这是一个在互联网行业中备受关注的话题。随着互联网的快速发展,越来越多的企业开始意识到SEO的重要性,而SEO分析作为SEO优化的重要一环,更是备受瞩目。那么什么是SEO…

    行业资讯 2024年4月13日
    0
  • 国外服务器租用费用

    随着互联网的发展,云服务器行业也逐渐成为了当今网络世界中不可或缺的一部分。而在众多的云服务器中,国外服务器备受关注。那么,你是否想过国外服务器租用费用究竟是如何构成的?国外服务器又…

    行业资讯 2024年4月2日
    0
  • JavaScript 判断空值、NULL、undefined的方法

    在JavaScript开发中,正确判断变量是否为空值、NULL或undefined是确保程序稳定性和可靠性的关键。本篇文章将为你详细介绍JavaScript中判断空值、NULL和u…

    2024年6月4日
    0

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注