python百度关键词自动提交订单_百度收集自动推送脚本——python版

做网站的过程中,网站做出来容易,把网站推广出去就难了,其中第一步就是需要各大搜索引擎,如百度,谷歌,360和搜狗等对我们的网站进行收录,链接提交方面,其实各大网站斗差不多,基本上都有sitemap提交,但百度网站收录除了sitemap提交之外,还提供了主动推送和自动推送。

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

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版本。主动推送每天最多可以推送10万条url

按照百度提供的信息,其实python版本也相对容易编写。

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

20200206133949360.png

接着就使用这个推送接口文件进行python程序编写,另外需要准备一个sitemap文件,网站所有的url都从sitemap中读取,当然如果有url列表也可以直接从url列表中读取。

# base on python 3.7import 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).textreturnresponse

except Exceptionase:

print(e)

def auto_push_urls():

remain_push_count= 100000push_count= 0start_number= 608006actual_push_url= 0# open a sitemaptry:

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

source_links=f.readlines()

except Exceptionase:

print(e)else:for link insource_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+= 1actual_push_url+= 1

if push_count >remain_push_count:break

returnactual_push_urlif __name__ =="__main__":

print("start pushing urls ...")

pushed_url_number=auto_push_urls()

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

推送成功后,接口返回一个字典列表,含剩余url数目"remain":99999,推送成功数目:"success":1

{"remain":100000,"success":0,"not_same_site":["smwap.bodamn120.com/zt/zixun/"]}

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

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JpYmluR2Vl,size_16,color_FFFFFF,t_70

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值