前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SEO工具脚本,Python百度普通收录API提交工具

SEO工具脚本,Python百度普通收录API提交工具

作者头像
二爷
发布2020-08-21 16:38:33
1.1K0
发布2020-08-21 16:38:33
举报
文章被收录于专栏:二爷记二爷记

百度收录问题一直是不少渣渣头痛的问题,而官方其实提供了普通收录和快速收录这样的接口,直接调用官方api接口,大力出奇迹,你需要相信,你尽管seo,有排名算我输,不收录,怎么会呢,不是给你留了一个首页网址么?以前写过熊掌号的api网址提交,可惜被清退了,也不知道能不能用了。

其实调用官方api还是比较简单,直接按照官方给出的示例和参数就能实现,稍微抄抄改改,你也能够实现,至于收录效果,还是前面说的那句话,也是国内seo人员的核心,大力出奇迹!

示例代码

代码语言:javascript
复制

#百度普通收录 资源提交 API提交
#微信:huguo00289
# -*- coding: UTF-8 -*-
import requests
import json



def api(site,token,url):
    print(f">>> 正在向百度推送链接-- {url} ..")
    post_url=f"http://data.zz.baidu.com/urls?site={site}&token={token}"
    headers = {
        'User-Agent': 'curl/7.12.1',
        'Host': 'data.zz.baidu.com',
        'Content-Type': 'text/plain',
        'Content-Length': '83',
    }
    response=requests.post(post_url,headers=headers,data=url)
    req=response.text
    if "success" in req:
        print(f"恭喜,{url} -- 百度推送成功!")
        req_json=json.loads(req)
        print(f'当天剩余的可推送url条数: {req_json["remain"]}')

    else:
        print(f"{url} -- 百度推送失败!")


下面我们继续来优化完善一下!

首先网站地图,想必大家都知道,sitemap.xml格式文件,里面包含有网站所有的网站,我们可以通过它来向搜索引擎提交网业地址,同时我们也可以在它身上下功夫,这里我使用的网站地图文件为老虎地图所制作。

从sitemap.xml文件读取到网页链接地址,使用正则表达式就可以很轻松的实现目的!

示例代码

代码语言:javascript
复制
    def get_url(self):
        with open(self.path,'r',encoding='utf-8') as f:
            xml_data=f.read()

        print(">>> 读取网站地图文件成功!")

        urls=re.findall(r'<loc>(.+?)</loc>',xml_data,re.S)
        print(urls)
        print(f">>> 共有网页链接数 :{len(urls)} 条!")

        return urls

考虑到大部分大佬哥的网站链接推送数量可不少,这里应用了线程池的技术,多线程推送网址,比较简单,复制粘贴即可完成!

示例代码

代码语言:javascript
复制
    def main(self):
        urls=self.get_url()
        try:
            # 开4个 worker,没有参数时默认是 cpu 的核心数
            pool = ThreadPool()
            results = pool.map(self.api,urls)
            pool.close()
            pool.join()
            print(">> 采集所有链接百度推送完成!")

        except Exception as e:
            print(f'错误代码:{e}')
            print("Error: unable to start thread")

完整代码参考

代码语言:javascript
复制
#百度普通收录 资源提交 API提交
#微信:huguo00289
# -*- coding: UTF-8 -*-
import requests
import json,re
from multiprocessing.dummy import Pool as ThreadPool

class Ts():
    def __init__(self,site,token,path):
        self.site=site
        self.token=token
        self.path=path



    def api(self,url):
        print(f">>> 正在向百度推送链接-- {url} ..")
        post_url = f"http://data.zz.baidu.com/urls?site={self.site}&token={self.token}"
        headers = {
            'User-Agent': 'curl/7.12.1',
            'Host': 'data.zz.baidu.com',
            'Content-Type': 'text/plain',
            'Content-Length': '83',
        }
        response = requests.post(post_url, headers=headers, data=url)
        req = response.text
        if "success" in req:
            print(f"恭喜,{url} -- 百度推送成功!")
            req_json = json.loads(req)
            print(f'当天剩余的可推送url条数: {req_json["remain"]}')

        else:
            print(f"{url} -- 百度推送失败!")


        return None



    def get_url(self):
        with open(self.path,'r',encoding='utf-8') as f:
            xml_data=f.read()

        print(">>> 读取网站地图文件成功!")

        urls=re.findall(r'<loc>(.+?)</loc>',xml_data,re.S)
        print(urls)
        print(f">>> 共有网页链接数 :{len(urls)} 条!")

        return urls



    def main(self):
        urls=self.get_url()
        try:
            # 开4个 worker,没有参数时默认是 cpu 的核心数
            pool = ThreadPool()
            results = pool.map(self.api,urls)
            pool.close()
            pool.join()
            print(">> 采集所有链接百度推送完成!")

        except Exception as e:
            print(f'错误代码:{e}')
            print("Error: unable to start thread")




if __name__ == '__main__':
    site="网站地址"
    token="秘钥"
    path=r"网站地图文件存储路径"
    spider=Ts(site,token,path)
    spider.main()
    

相关阅读:

百度主动推送工具汇总,Python POST工具实例源码

微信公众号:二爷记

不定时分享python源码及工具

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档