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!
推薦閱讀:
- 利用python實現查看溧陽的攝影圈
- python利用多線程+隊列技術爬取中介網互聯網網站排行榜
- python爬蟲之requests庫的使用詳解
- python beautifulsoup4 模塊詳情
- Python爬蟲Requests庫的使用詳情