向百度主动提交网址的方式有很多,可以通过API接口提交,可以通过sitemap提交,也可以逐条手动提交,接下来将带大家使用python实现API接口提交,从而实现批量推送百度链接的功能。
当想要将网址主动提交给百度搜索引擎,有几种常用的方式可以实现:
-
API接口提交:百度提供了站长平台接口,可以使用该接口将网址批量推送给百度。你可以使用Python编程语言通过HTTP POST请求将链接提交给百度的API接口。API接口的使用需要使用有效的推送token,该token在百度站长平台上生成。
-
Sitemap提交:Sitemap是一个包含网站所有URL的XML文件。通过在网站的根目录下放置一个sitemap.xml文件,其中包含所有需要百度搜索引擎索引的URL,然后将该Sitemap提交给百度搜索引擎。百度会定期抓取Sitemap并索引其中的URL。
-
逐条手动提交:这是一种相对繁琐的方式,但也是可行的。可以使用百度站长平台的手动提交功能,逐个输入网址并提交给百度搜索引擎。
使用API接口提交可以实现批量推送百度链接,相比手动逐条提交更为高效和方便。通过编程方式,你可以自动将链接提交给百度,省去手动提交的麻烦。
首先需要登录到百度站长平台,并在后台获取到如下图所示的调用链接;

有了这个链接之后,就可以通过使用requests库模拟curl的方式向该链接推送站点信息了,通过代码实现抓取个人博客中某一页指定文章链接,并批量将该链接推送到百度站长平台,起到快速收录的目的。
import sys
import requests
from bs4 import BeautifulSoup
# 推送百度爬虫
def push_page(url):
headers = {
'User-Agent': 'curl/7.12.1',
'Host': 'data.zz.baidu.com',
'Content-Type': 'text/plain',
'Content-Length': '83'
}
urls = "http://data.zz.baidu.com/urls?site=https://www.lyshark.com&token=MpHvVKjbs10XqaW"
try:
html = requests.post(urls, headers=headers, data=url, timeout=5).text
push_status = eval(html)['success']
if push_status == 1:
return 1
else:
return 0
except:
return 0
# 获取路径
def get_page(page):
html = requests.get(page,timeout=5).text
try:
bs = BeautifulSoup(html,"html.parser")
ret = bs.select('div[class="container"] div[class="row"] h2[class="post-title"] a')
for item in ret:
push_url = item.get('href')
push_ref = push_page(push_url)
print("推送: {} --> 状态: {}".format(push_url,push_ref))
return 1
except:
return 0
if __name__ == "__main__":
arg = sys.argv
get_page(arg[1])
上述功能只能推送一条,我们可以通过bs4解析所有的网页链接,并主动推送,如下所示;
import requests
from bs4 import BeautifulSoup
# 推送百度爬虫
def push_page(url):
headers = {
'User-Agent': 'curl/7.12.1',
'Host': 'data.zz.baidu.com',
'Content-Type': 'text/plain-t',
'Content-Length': '83'
}
urls = "http://data.zz.baidu.com/urls?site=https://www.lyshark.com&token=C5pA6XTWlCxdCwB"
try:
html = requests.post(urls, headers=headers, data=url, timeout=5).text
push_status = eval(html)['success']
if push_status == 1:
print("推送页面: {} 推送状态: {}".format(url,push_status))
return 1
else:
print("推送页面: {} 推送状态: {}".format(url, push_status))
return 0
except:
return 0
# 获取路径
def get_page(page):
push_url_list = []
html = requests.get(page,timeout=5).text
try:
bs = BeautifulSoup(html,"html.parser")
ret = bs.select('div[class="container"] div[class="row"] h2[class="post-title"] a')
for item in ret:
push_url = item.get('href')
print("提取链接: {}".format(push_url))
push_url_list.append(push_url)
return push_url_list
except:
return 0
# 生成所有页面链接
def create_page(start,end):
page_list = []
for ea in range(start,end+1):
page = f"https://www.lyshark.com/page/{ea}/"
print("创建页面链接: {}".format(page))
page_list.append(page)
return page_list
if __name__ == "__main__":
while True:
push_url = []
# 生成页面目录
page = create_page(1,15)
for each in page:
# 输出每一个链接目录树
ref = get_page(each)
push_url.extend(ref)
# 开始批量推送
for url in push_url:
push_page(url)
本文介绍了如何使用Python通过百度站长平台的API接口批量推送网址,以加快百度搜索引擎对网站内容的收录。首先,登录百度站长平台获取推送token,然后使用requests库发送POST请求,结合BeautifulSoup解析网页获取链接,最后实现自动化批量推送功能。
1万+

被折叠的 条评论
为什么被折叠?



