自动采集推送(个人用Django开发的博客已上线,主动推送每天最多可以推送 )

优采云 发布时间: 2021-10-04 06:14

  自动采集推送(个人用Django开发的博客已上线,主动推送每天最多可以推送

)

  Django开发的博客已经发布。欢迎来到:

  在制作"K17"的过程中,制作"K17"容易,推广"K17"难。第一步是要求百度、谷歌、360和搜狗等主要搜索引擎收录。在链接提交方面,其实主要的"K17"战是相似的,基本上都有站点地图提交,但百度"K17","K10"除了站点地图提交外,还提供了主动推送和自动推送

  所谓的自动推送实际上是一种被动技能。在每个网站上编写特定的JS代码。当有人访问该网页时,JS代码会将当前未收录的网页推送到百度服务器完成收录。脚本如下:

  

(function(){

var bp = document.createElement('script');

var curProtocol = window.location.protocol.split(':')[0];

if (curProtocol === 'https') {

bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';

}

else {

bp.src = 'http://push.zhanzhang.baidu.com/push.js';

}

var s = document.getElementsByTagName("script")[0];

s.parentNode.insertBefore(bp, s);

})();

  将此JS代码复制到每个网页,实现自动推送功能

  主动推送更有趣。目前,百度只提供curl、PHP和Ruby程序示例,没有Python版本。主动推送每天最多可以推送100000个URL

  根据百度提供的信息,其实python版本也比较容易写

  首先登录百度搜索资源平台,然后在链接提交中找到自动推送界面,如我的网站推送界面:

  

  然后使用这个推送接口文件进行Python编程。此外,您需要准备一个站点地图文件,网站所有URL都从站点地图读取。当然,如果有URL列表,也可以直接从URL列表中读取

  # base on python 3.7

import requests

import re

import time

def push_urls(urls):

url = "你的百度推送接口"

headers = {

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

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

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

'Content - Length': '83',

'charset':'gbk',

}

try:

response = requests.post(url, headers=headers, data=urls, timeout=5).text

return response

except Exception as e:

print(e)

def auto_push_urls():

remain_push_count = 100000

push_count = 0

start_number = 608006

actual_push_url = 0

# open a sitemap

try:

with open("sitemap.xml", "r", encoding="utf-8") as f:

source_links = f.readlines()

except Exception as e:

print(e)

else:

for link in source_links[start_number]:

url = re.findall('(.*?)', link)

if url !=[]:

target_url = url[0].encode("utf-8")

response = push_urls(target_url)

# print(url[0])

print(f"psuh a url:{target_url}, {response}")

push_count += 1

actual_push_url += 1

if push_count > remain_push_count:

break

return actual_push_url

if __name__ =="__main__":

print("start pushing urls ...")

pushed_url_number = auto_push_urls()

print(f"complete pushing urls: {pushed_url_number} ...")

  推送成功后,接口返回一个字典列表,包括剩余URL“remaine”的数量:99999,以及成功推送的数量:“success”:1

  {"remain":99999,"success":1}

  如果失败,则返回具体的失败原因:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线