根据sitemap一键推送给百度收录的python小脚本

欢迎关注原创视频教程

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

背景

之前我发表过一遍Python 5行代码实现主动推送链接给百度–实现快速收录,如果你的博客/网站管理系统支持发布回调的话是很方便使用的,但有很多站点使用的cms或博客管理系统无法实现调用的话,那就使用今天何三给大家分享的根据sitemap一键推送给百度收录的python小脚本吧

思路

  1. 获取站点的sitemap.xml
  2. 解析sitemap中的url链接地址
  3. 组合成数据并推送给百度

实施

1、获取站点的sitemap.xml

我们通过requests库获取

import requests
sitemap_url = 'https://www.h3blog.com/sitemap.xml'      #sitemap.xml的链接地址
ret = requests.get(sitemap_url,timeout=3).text
print(ret) #    输出sitemap.xml内容

2、解析sitemap.xml中url链接地址

由于sitemap.xml是xml格式,那么我可以使用python中xml模块,也可以使用正则表达式,由于sitemap.xml比较简单用正则表达式比较方便

import re
re_loc = re.compile('<loc>(.*?)</loc>')
urls = re.findall(re_loc,ret)
print(urls)     #输出解析出来的链接列表

3、组合成接口数据并推送给百度

百度资源平台接口如果有多个链接地址是需要用\n分割开的

urls_str = '\n'.join(urls)  #组合数据,使用\n进行分割组合
result = baidu_push_urls('https://www.h3blog.com',urls_str) #调用百度接口
print(result)

完整代码:

import requests
import re

baidu_token = '你的token' #百度资源平台token

#推送百度接口函数
def baidu_push_urls(domain,urls):
    headers = {'Content-Type':'text/plain'}
    url = 'http://data.zz.baidu.com/urls?site={}&token={}'.format(domain,baidu_token)
    ret = requests.post(url,headers=headers, data = urls, timeout=3).text
    return ret


def push_sitemap(domain,sitemap_url):
    #获取sitemap.xml内容
    ret = requests.get(sitemap_url,timeout=3).text

    #解析sitemap.xml中的链接地址
    re_loc = re.compile('<loc>(.*?)</loc>')
    urls = re.findall(re_loc,ret)

    #组合数据并调用百度推送接口
    urls_str = '\n'.join(urls)
    result = baidu_push_urls(domain,urls_str)

    print(result) #打印结果

if __name__ == '__main__':
    domain = 'https://www.h3blog.com'   #修改成你自己的域名
    sitemap_url = 'https://www.h3blog.com/sitemap.xml'      #修改成你网站的sitemap.xml地址
    push_sitemap(domain,sitemap_url)

将上述代码保存成push_sitemap.py 并将参数修改成你自己即可运行

{"remain":99937,"success":34} 

返回参数详解请查看 [百度资源平台接口说明](

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值