采集文章自动发布(用Python做有趣的事情写在前面:坚持解决一个问题)

优采云 发布时间: 2022-03-20 06:13

  采集文章自动发布(用Python做有趣的事情写在前面:坚持解决一个问题)

  用 Python 做有趣的事情

  写在前面:我坚持解决一个问题,花了两三个小时终于解决问题,终于实现了我的自动释放文章的功能。

  思路来源:玩自媒体的朋友都知道,如果你把你的文章同步到多个平台,需要在各个平台上登录再重新发布,所以想知道能不能让Python来做这些一键操作!

  于是在这两天的假期里开始做原型,终于完成了。效果图如下:

  首先,我把它发到开源中国做一点练习。你为什么选择这个网站?因为这个网站不需要输入验证码,哈哈,避免了验证码的问题,而且因为每个平台的验证码不同,所以处理机制也不同,所以我不不想针对验证码。处理验证码问题。除非是大平台,否则我可能会单独处理。对于其他小平台,我打算用cookie来绕过验证码问题!

  实现idea的完整代码

  # coding:utf-8

from selenium import webdriver

import time

user_main_url = 'https://my.oschina.net/u'

username = 'XXX'

password = 'XXX'

url = 'https://www.oschina.net/home/login?goto_page=https%3A%2F%2Fmy.oschina.net%2Fu%2F564070%2Fblog'

driver = webdriver.Firefox()

driver.get(url)

# 浏览器窗口最大化

driver.maximize_window()

driver.find_element_by_id('userMail').send_keys(username)

driver.find_element_by_id('userPassword').send_keys(password)

driver.find_element_by_xpath('//*[@id="account_login"]/form/div/div[5]/button').click()

# 进入主页

while True:

# 判断是不是在个人主页中。

if user_main_url in driver.current_url:

break

else:

# 不在个人主页中就继续加载了。

time.sleep(1)

# 点击进入写作页。

driver.find_element_by_xpath('/html/body/div/div/div/div/div[1]/div[1]/div[4]/a').click()

time.sleep(1)

# 填写标题

titleInput = driver.find_element_by_xpath('//*[@id="title"]')

titleInput.send_keys(u'666666模333444444')

# 填写内容

contentInput = driver.find_element_by_id('mdeditor')

contentInput.send_keys(u'666666模拟3334444422222。。。。。')

#通过网页源代码可以查看value=428612正好对应着前端开发。

# 选择文章的类型值,

js = 'document.getElementById("sys_sort").value="428612";'

driver.execute_script(js)

# 修改选择的类型文本

js = 'document.getElementsByClassName("select-show")[2].innerText="前端开发";'

driver.execute_script(js)

# 点击提交

submit = driver.find_element_by_xpath('//*[@id="blog-form"]/div[3]/div/button[2]')

submit.click()

print '发布成功!'

  当然这只是一个非常粗略的实现。稍后我会进一步优化,敬请期待。欢迎任何好的评论!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线