python百度-Python百度url主动推送

你问我答:使用主动推送功能会达到怎样效果?

及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录

保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现

脚本功能,从sitemap获取url,并实现主动推送功能,不会sitemap制作点python百万sitemap制作

posturl.py

#-*- coding: utf-8 -*-

import requests

import re

__Author__ = "Kxrr" #原作者,github上看到有有懒得自己写了,懒癌晚期

__Verson__ = 0.1

class Pbs(object):

def __init__(self, urlSitemap, urlPost):

self.urlSitemap = urlSitemap

self.urlPost = urlPost

self.HEADERS_POST = {

"User-Agent": "curl/7.12.1",

"Host": "data.zz.baidu.com",

"Content-Type": "text/plain",

"Content-Length": "83"

}

self.f = open("_urlPosted.txt", "a+")

self.fContent = self.f.read()

self.f.close()

def getSitemap(self):

self.responseSitemap = requests.get(self.urlSitemap)

self.listSitemap = re.findall("(.*?)", self.responseSitemap.content, re.S)

def sortList(self):

self.g = open("_urlPosted.txt", "a+")

def postSitemap(self):

for self.eachUrl in self.listSitemap:

if self.eachUrl in self.fContent:

pass

else:

self.responsePost = requests.post(self.urlPost, data=self.eachUrl, headers=self.HEADERS_POST)

if ""success":1" in self.responsePost.content:

self.g.write(self.eachUrl + " ")

print self.eachUrl + " Done."

self.g.close()

def run(self):

self.getSitemap()

self.sortList()

self.postSitemap()

main.py

#-*- coding: utf-8 -*-

from PostBaiduSitemap import Pbs

urlSitemap = "" # Your sitemap url, like "https://blog.kxrr.us/index.php/sitemap"

urlPost = "" # Your Baidu API, like "https://data.zz.baidu.com/urls?site=blog.kxrr.us&token=xxxxxxxxxxxx"

if __name__ == "__main__":

pbs = Pbs(urlSitemap,urlPost)

pbs.run()

使用方法

在 main.py 中的

urlSitemap 填写你的Sitemap地址,形如 "https://blog.kxrr.us/index.php/sitemap’

urlPost 填写你的百度接口地址, 形如 "https://data.zz.baidu.com/urls?site=blog.kxrr.us&token=xxxxxxxxxxxx’

需要安装 requests 模块, pip install requests。

运行 python main.py。 可以在VPS中设置定时任务。

实现功能

主动推送,目前为分条推送。

一条URL推送成功后,将保存在 _urlPosted.txt 中,第二次运行将不再推送。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值