使用Python实现每日自动批量推送URL到百度站长工具
要实现Python每日自动批量推送URL到百度站长工具,可以使用以下步骤: 1. 安装所需库:`requests` 和 `BeautifulSoup`。在命令行中输入以下命令进行安装: ``` pip install requests pip install beautifulsoup4 ``` 2. 编写代码:创建一个Python脚本,使用`requests`库发送POST请求到百度站长工具的推送接口,将需要推送的URL列表作为参数传递。 ```python import requests from bs4 import BeautifulSoup # 替换为你的百度站长工具推送接口地址 url = "https://data.zz.baidu.com/urls?site=your_site&token=your_token" # 需要推送的URL列表 urls = [ "https://www.example1.com", "https://www.example2.
前言
由于2020.12.11日百度正式下线自动提交功能,很多小伙伴都无法自动推送URL到百度站长了。于是写了下面这个脚本,实现自动推送!
首先,咱们的网站得有sitemap,然后我们利用Python爬取sitemap上面的URL,然后批量提交到百度站长后台主动推送。并且把推送结果发送到站长微信!
实现过程
安装依赖
pipinstallrequests
编写代码
importrequests,re,jsondefget_urls(sitemap_url):#爬取URL列表r=requests.get(sitemap_url).texts=re.findall(r'<loc>(.*)</loc>',r)#由于百度推送一次最多推送2000条,如果超过两千,就取最后2000条推送print('已经成功爬取{0}条网址'.format(len(s)))iflen(s)>2000:s=s[-2000:]urls='n'.join(s)returnurlsdefpost_message_wechat(text):#推送推送结果至管理员微信#请获取属于你的corpid、corpsecret、agentid,替换下面代码中的*****#请参考:https://www.htm.fun/archives/python-flask-api-server-jiang.html#如果不需要该功能,请删掉第37行的post_message_wechat(text)即可data={'corpid':'*****','corpsecret':'*****','agentid':'*****','text':text}r=requests.post('https://api.htm.fun/api/Wechat/text/',data=data)defpost_url_baidu(baidu_api_url,sitemap_url):#进行推送到百度站长中心headers={'Content-Type':'text/plain'}urls=get_urls(sitemap_url)s=requests.post(baidu_api_url,headers=headers,data=urls).contents=json.loads(s)if'success'ins.keys():text='今日已成功提交{0}条推送到百度站长'.format(s['success'])else:text='推送失败,请检查原因!'post_message_wechat(text)print(text)if__name__=='__main__':#将下方的baidu_api_url和sitemap_url换成你自己的URL即可!post_url_baidu(baidu_api_url,sitemap_url)
以上就是全部代码啦。当然,如果你每天都要推送的话,建议你把脚本挂到服务器上面,每天定时执行即可,解放双手!
设置宝塔自动执行(请举一反三)
我们保存好脚本后,把脚本上传到宝塔面板。如:baidu_post_url.py,上传到/www/wwwroot/script
然后进入首页/计划任务添加每日计划,Shell脚本:
python/www/wwwroot/script/baidu_post_url.py
然后等着每日自动推送就可以啦!