Python實現推送百度鏈接的示例代碼

通過代碼實現抓取個人博客中某一頁指定文章鏈接,並批量將該鏈接推送到百度站長平臺,起到快速收錄的目的。 

import sys
import requests
from bs4 import BeautifulSoup

# 推送百度爬蟲
def push_page(url):
    headers = {
        'User-Agent': 'curl/7.12.1',
        'Host': 'data.zz.baidu.com',
        'Content-Type': 'text/plain',
        'Content-Length': '83'
    }
    urls = "http://data.zz.baidu.com/urls?site=https://www.lyshark.com&token=xxxxxxx"
    try:
        html = requests.post(urls, headers=headers, data=url, timeout=5).text
        push_status = eval(html)['success']
        if push_status == 1:
            return 1
        else:
            return 0
    except:
        return 0

# 獲取路徑
def get_page(page):
    html = requests.get(page,timeout=5).text
    try:
        bs = BeautifulSoup(html,"html.parser")
        ret = bs.select('div[class="container"] div[class="row"] h2[class="post-title"] a')
        for item in ret:
            push_url = item.get('href')
            push_ref = push_page(push_url)
            print("推送: {} --> 狀態: {}".format(push_url,push_ref))
        return 1
    except:
        return 0

if __name__ == "__main__":
    arg = sys.argv
    get_page(arg[1])

補充

在百度的站長平臺上介紹瞭鏈接提交方法,目前有這四種:

主動推送:最快的提交方式,推薦將站點當天新產出鏈接立即通過此方式推送給百度,以保證新鏈接可以及時被百度收錄。

自動推送:最為便捷的提交方式,將自動推送的JS代碼部署在站點的每一個頁面源代碼中,部署代碼的頁面在每次被瀏覽時,鏈接會被自動推送給百度。可以與主動推送配合使用。

sitemap:將網站鏈接放到sitemap中,然後將sitemap的地址提交給百度。百度會周期性的抓取檢查您提交的sitemap,對其中的鏈接進行處理,但收錄速度慢於主動推送。

手動提交:操作起來麻煩。

為瞭讓網站最新的內容更加及時的提交給百度,使用主動推送就很必要,百度給的例子中沒有 Python 的。根據 Google 瞭一下,還真找到瞭不錯的腳本,分享收藏一下。

以下腳本使用 Python3,未在 Python2 環境下測試過。

讀取本地生成的 sitemap.txt 文件

另外,可嘗試以下腳本。

到此這篇關於Python實現推送百度鏈接的示例代碼的文章就介紹到這瞭,更多相關Python推送百度鏈接內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: