之前一直用的一个关于百度api提交的工具貌似不好用了,所以准备自己写一个。

其实之所以感觉不好用了是因为我的站点信息里看提交都是0.
python 百度api提交
其实大概率还是百度自己出了问题,不过既然都这样了,那么还是重新写一个工具吧。

我们可以看百度自己的教程以及示例:

post推送示例POST /urls site=www.58.com&token=edk7ychrEZP9pDQD HTTP/1.1 User-Agent: curl/7.12.1 Host: data.zz.baidu.com </span>
Content-Length: 83 http://www.example.com/1.html http://www.example.com/2.html

我们仿照一下写一个headers即可。
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36,',
'Host': 'data.zz.baidu.com',
'Content-Length':'83'
}

然后呢,创建一个函数来进行判断是否有链接和api导入,当然我这次写的是可以直接用的,只需要创建一个api.txt然后把api放进去,创建一个links.txt把链接放进去一个一行即可。本次主要使用了三个库,分别是requests,re,time。
分别作用是提交,提取以及等待。

当然其实最后的两个可以不用,但是为了效果还是加上了。python 百度api提交
具体的效果还是自己测试吧,我把代码放在这里一份放在我的GitHub一份

import requests
import re
import time
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36,',
'Host': 'data.zz.baidu.com',
'Content-Length':'83'
}
print("*"*30)
print('links.txt示例:\nhttps://xxxxx.html\nhttps://xxxxx.html\nhttps://xxxxx.html\nhttps://xxxxx.html')
print("*"*30)
print('api示例:\nhttp://data.zz.baidu.com/urls?site=xxxxxxxxxxx')
push_num = 1
while push_num < 9999:
if push_num == 1:
answer = input("请问你是否已经将链接填入links.txt,api填入api.txt中呢,如果是则回答1\n")
if answer == '1':
try:
with open('links.txt', 'r') as links:
links = links.read()
except FileNotFoundError:
print("links.txt文件不存在")
try:
with open('api.txt', 'r') as api:
api = api.read()
except FileNotFoundError:
print("links.txt文件不存在")def thinklink(links, api):
        if links == '':
            print("links.txt文件为空")
        else:
            if api == '':
                print('api.txt为空')
            else:
                try:
                    html_result = requests.post(api, headers=headers, timeout=5, data=links).text
                    return html_result
                except:
                    return print("失败")
    push_result = thinklink(links, api)
    print('提交完成:'+push_result)
    surplus_push_num = re.findall('"remain":(.*),"', push_result)
    surplus_push_num = surplus_push_num.pop()
    print('剩余' + surplus_push_num + '次提交机会')
else:
    print("请将内容填充!")
    time.sleep(5)
    break
print('*'*30)
new_answer = input("是否还需要提交,如果是的话请先去更改一下相应文件,如果是请输入1,如果否请输入0\n")
if new_answer == '0':
    print("提交结束")
    time.sleep(5)
    break
push_num += 1
print("现在开始第"+str(push_num)+'次提交')

好了,如果有什么不会的,可以在评论区留言,我会在看到的第一时间进行回复的。

最后修改:2021 年 04 月 19 日 02 : 32 PM
如果觉得我的文章对你有用,请随意赞赏