•  

百度自动收录提交入口以及代码

2017-12-09

新站上线后,如果想有流量就需要引流了,那么搜索引擎就是最好的引流入口了,市场上有很多搜索引擎,各大搜索引擎的入口可以查看

各大搜索引擎提交入口:http://www.itmayun.com/it/files/1/article/445518068667083/1.html


我们这里要说的是百度,因为百度在国内搜索引擎占有绝对领导地位


登录百度【站长工具】网站:http://zhanzhang.baidu.com

左侧点击   网页抓取》链接提交

百度有4种提交方式

  • 1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
  • 2、自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。
  • 3、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
  • 4、手动提交:一次性提交链接给百度,可以使用此种方式。


自动提交》主动推送(实时) 提供了curl推送,post推送,php推送,ruby推送 等多种方式,


我们推荐使用第一种【主动推送】好处是我们占用主动权,我们自动主动提交给百度,而且数据比较及时。


我们来实现自动提交收录的代码,主要使用POST推送实现。

我这里依赖两个jar:httpclient-4.2.3.jar、httpcore-4.2.2.jar

package com.sl.app.seo.model;

import com.sl.basic.json.SLJsonUtil;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Map;

/**
 * 百度手动提交 http://zhanzhang.baidu.com/linksubmit/index?site=http://www.itmayun.com/
 * <p>
 * POST /urls?site=www.itmayun.com&token=[自己的token] HTTP/1.1
 * User-Agent: curl/7.12.1
 * Host: data.zz.baidu.com
 * Content-Type: text/plain
 * Content-Length: 83
 * http://www.example.com/1.html
 * http://www.example.com/2.html
 * Created by long on 2017/5/20.
 */
public class Baidu {

    public static void main(String args[]) {
        Baidu obj = new Baidu();
        String res = obj.submitURL("http://www.itmayun.com/it/jf/Index/toKind/103", true);
        System.out.println(res);
    }

    /**
     * 提交的收录
     *
     * @param url  提交的URL
     * @param isYC 是否原创
     * @return
     * @throws Exception
     */
    public String submitURL(String url, Boolean isYC) {


        String baiduURL = "http://data.zz.baidu.com/urls?site=www.itmayun.com&token=自己的token";
        if (isYC) {
            baiduURL += "&type=original";
        }
        InputStream is = null;
        BufferedReader in = null;

        HttpPost request = new HttpPost(baiduURL);
        request.addHeader("Host", "data.zz.baidu.com");
        request.addHeader("Content-Type", "text/plain");
        try {
            request.setEntity(new StringEntity(url));
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpResponse response = httpClient.execute(request);
            is = response.getEntity().getContent();

            in = new BufferedReader(new InputStreamReader(is));
            StringBuffer buffer = new StringBuffer();
            String line = "";
            while ((line = in.readLine()) != null) {
                buffer.append(line);
            }
            System.out.println(buffer.toString());

            return "baidu";
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("百度收录提交失败:" + url);
        } finally {
            if (in != null) {
                try {
                    in.close();
                    in = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }

            }
        }
        return null;
    }
}

如果提交打印以下信息,说明就成功了


{"remain":4999969,"success":1,"remain_original":0,"success_original":0}


参数说明:

remain:还可以提交的连接数,这个是有限制的,所以站友们要珍惜,提交一个链接就少一次了,可以提交500W次。

success:返回1,说明成功了

remain_original: 还没搞明白

success_original: 还没搞明白


我们拿到这段代码,说明时候调用呢,既然是自动化,我就建议大家在发布文章时就调用推送。

申明:本文受法律保护,未经作者同意不得用于商业用途,如转载请说明出处!
评论