主动推送链接到百度

效果

CS9AMWH70XB8P9QLD5P.png

remain值 表示今日还可以推送链接条数 succes值 表示成功推送的条数

代码及注意事项

使用中需要修改的地方

  1. 修改main函数 中 sitemap地址
  2. 修改pushlinks函数 中 stie变量
  3. 修改pushlinks函数 中 token变量,token值在百度链接提交页面获取,点我

代码

# coding=utf-8

import requests
import time
from bs4 import BeautifulSoup
# 第一步, 获取网页文件
def get_content(url):

    header={
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
            'Accept-Encoding': 'gzip, deflate, sdch',
            'Accept-Language': 'zh-CN,zh;q=0.8',
            'Connection': 'keep-alive',
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.235'
        }

    rep = requests.get(url,headers = header)
    rep.encoding = 'utf-8'
    xml = BeautifulSoup(rep.text,'xml')
    #print(xml)
    print(getTimeDetail(),'第一步, 获取网页文件成功')
    return  xml
# 第二步, 得到所有的link
def get_link(xml):
    linklist =[]
   #print(xml)
    linklist = xml.findAll("link")
    linklistnew =[]
    for link in  linklist:
        link  = link.get_text()
        linklistnew.append(link)
    print(getTimeDetail(), '第二步, 得到所有的link')
    return  linklistnew
# 第三步, 写入文件
def writeintoTXT(linklist):
    f = open('urls.txt', 'w')
    for list in linklist:
        f.write(list)
        f.write('\n')

    f.close()

    print(getTimeDetail(),'第三步, 写入文件')

def pushlinks():
    site = 'https://cser.blog'
    token = 'XXXXXXXXXXXXXXXX'

    url2 = '/urls?site=' + site + '&' + 'token=' + token

    filecontents = {'file': open('urls.txt', 'rb')}  #urls.txt 每行一个url
    r=requests.post("http://data.zz.baidu.com"+url2, files=filecontents)
    result = getTimeDetail() + " 第四步, 执行提交结果为\n %s \n" %(r.text)

    return result

# 获取当前时间,精确到秒
def getTimeDetail():
    now = time.strftime("%Y/%m/%d-%H:%M:%S", time.localtime())
    return now

if __name__ == '__main__':
    url ='https://cser.blog/feed.xml'     # sitemap地址
    # 第一步, 获取网页文件
    xml = get_content(url)
    # 第二步, 得到所有的link
    linklist = get_link(xml)
    # 第三步, 写入文件
    writeintoTXT(linklist)
    # 第四步, 执行提交
    res = pushlinks()
    print(res)
    print('\n')



本博客所有内容采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
转载文章请注明:主动推送链接到百度 - https://cser.blog/blog/push-links-to-baidu.html