- Python的安装与环境搭建
网址:https://www.python.org/
选择“Downloads”下载最新的3.12版本的python,选择一个路径安装(我选择安装在D盘根目录下,新建了一个“python”文件夹),同时记得选择 ‘Add Python3.12 to PATH”。可以通过打开cmd输入python检查,如果返回了python的版本信息,则说明路径已经添加。
1.1:pycharm 的安装
网址:https://www.jetbrains.com/pycharm/ 点击Download,跳转至下载界面,向下滚动屏幕,找到pycharm community edition,点击下载。安装时,可以放在任意位置,如图勾选所有项目,最后点击安装即可。
启动pycharm 在弹出的弹框中选择‘DO not import settings’,设置好ui,使用pycharm。
1.2 创建一个新的项目。
将python项目创建在桌面下,并命名为‘pythonProject’。interpreter选项选择已经存在的解释器,选择安装在D盘下的‘python.exe’文件
1.3 selenium库下载
可以再pycharm下方选择“terminal”,输入pip install selenium==3.14.0
1.4Chrome 驱动器下载:先打开设备中已有的Chrome浏览器,通过"关于Google Chrome" 找到浏览器的版本,再从网上下载对应版本的驱动器:chromedriver.exe。比如我的浏览器是125版本,那么驱动器也要搜索125版本的驱动器来下载。记得把驱动器安装在之前创建的‘pythonProject’文件夹里。
2.0 selenium代码编写
由于博客园有反爬措施,本代码需要先手动登录博客园账号,然后重新打开浏览器,再用selenium接管这个浏览器打开博客园,实现自动发博。
这里的打开浏览器不同于正常的点击引用程序,需要将Chrome的本地路径加入到环境变量中,具体操作方法为:“win+s” -> 搜索并点击“编辑系统环境变量” ->在‘高级’页面找到并点击‘环境变量’ -> 选择‘path’,点击‘编辑’ -> 点击“新建”,并将Chrome的地址粘贴进来,最后点击“确定”保存。
然后打开cmd 输入“chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"”即可打开Chrome,之后将由selenium接管这个已打开的Chrome页面。
2.1 selenium代码部分
`from selenium import webdriver
import time
path = 'chromedriver.exe'
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option('debuggerAddress', "127.0.0.1:9222")
browser = webdriver.Chrome(path, chrome_options=chrome_options)
url = 'https:cnblogs.com'
browser.get(url)
time.sleep(2)
点击我的博客
my_blog = browser.find_element_by_id('myblog_icon')
my_blog.click()
点击 新随笔
new_blog = browser.find_element_by_id('blog_nav_newpost')
new_blog.click()
time.sleep(1)
找到标题输入框
ipt_title = browser.find_element_by_id('post-title')
ipt_title.send_keys('博客的标题')
找到正文输入框
txt_input = browser.find_element_by_id('md-editor')
txt_input.send_keys(‘博客的正文’)
找到 发布 按钮
post_btn = browser.find_element_by_xpath('//button[@class="cnb-button d-inline-flex align-items-center ng-star-inserted"]')
点击发布
post_btn.click()`
现在就可以通过selenium自动发一篇博客了。
3.0通过调用文心一言的API接口来询问HTTPX的使用方法:
可以直接参考https://blog.csdn.net/dream_of_grass/article/details/135535369
需要创建应用获得API Key 和Secret Key,然后可以通过付费或者代金券购买一个付费接口,我购买的是ERNIE-3.5-8K,接着将API Key 和Secret Key 代入下列代码中(以下代码仅适用于ERNIE-3.5-8K接口):
`import requests
import json
def get_access_token():
"""
使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
"""
url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=m7aPGWXAAiTD1oHEcqdaGFDf&client_secret=52qMJ3zqQHNlMRQwhhpiTiCErD5ieFF0"
payload = json.dumps("")
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json().get("access_token")
def main():
url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + get_access_token()
payload = json.dumps({
"messages": [
{
"role": "user",
"content": "如何使用httpx?"
}
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
if name == 'main':
main()`
运行代码即可得到答案。
4.0自动发一篇关于“调用文心一言API询问HTTPX的使用方法”的博客
修改一下2.1部分中的“博客标题”和“博客正文”,将3.0的代码复制粘贴到博客正文内,即可发布。