在百度站长平台中,有各种方式可以提交自己的站点,以提高百度抓取自己网站的效率。此文章旨在使用主动推送(实时)提交到百度站长平台以提高网站曝光率。
此方法是使用curl推送,所以在这里找到你的示例命令(前提是你要成为站长)
然后我是在Linux上面执行的Python,其他平台此方法不适用。
找个你喜欢的目录新建一个你喜欢的文件夹
文件结构
其实一共就两个文件,还有一个是自动生成的
- curl.py #用来执行自动推送
- geturl.py #抓取网站所有链接
- urls.txt #保存抓取的网站链接
其中urls.txt
是在执行 geturls.py
后自动生成,用以保存你要推送网站的所有链接
代码
curl.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 17/02/28 下午9:44
import os
import time
while True:
###### cmd = "你在百度站长中看到的curl推送示例命令" ######
cmd = "curl -H \'Content-Type:text/plain\' --data-binary @urls.txt \"http://data.zz.baidu.com/urls?site=note.coccoo.cc&token=xxxxxxxxxxxxxxx\""
os.system(cmd)
# 休息间隔为 1s 。。。哦不对,10s
time.sleep(10)
geturl.py 抓取网页连接
这里的目的是抓取指定网站的所有链接,以每个一行的形式保存到txt文本中
import re
import requests
# 获取网页内容
r = requests.get('http://note.coccoo.cc')
data = r.text
# 利用正则查找所有连接
link_list =re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" ,data)
# 写入文本中
f = open("urls.txt",'wb')
for url in link_list:
f.write(url+'\n')
f.close()
运行脚本
首先运行geturl.py获取网站链接库
python geturl.py
然后当前文件夹就会多出了一个urls.txt
的文本,就是你的网站链接库
让服务器自动帮你推送网站到百度
nohup python curl.py &
到此,任务就结束了,只不过每次网站更新后,你都需要重新运行第一步的脚本获取最新链接库
所以我又把两个脚本合并一起,实时更新链接库并推送
代码在此
curl.zip
直接解压后上传到服务器,执行nohup python curl.py &
就可以了
百度站长工具每天推送url的次数是5,000,000次,所以你要根据你网站中链接数量修改时间间隔,以免次数超纲,建议每分钟提交网站数量在 3400 以内
注意事项:
如果出现报错
Traceback (most recent call last): File "geturl.py", line 3, in <module> import requests ImportError: No module named requests
这是没有安装requests模块导致的,直接执行
pip install requests
安装就可以了
如果这一句报错pip: command not found...
,那就是你没安装pip,直接百度下根据你的系统安装python-pip
比如 我的是Centos,安装命令yum -y install python-pip
然后直接再继续执行就ok了
评论 (0)