您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關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"] h3[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])
補充
百度目前提供自動提交鏈接和手動提交鏈接兩種方式,其中自動提交又分為主動推送、自動推送和sitemap三種形式,按百度的說法,主動推送的效果最好,百度站長平臺后臺也提供了curl、php、ruby的推送示例代碼但沒有提供python代碼,網上很少有現成的python版本主動推送代碼(僅有的也有點小問題,需要修改一下),現將目前我正在使用的主動推送python代碼貼出。
#encoding:utf-8 import httplib def tuisong(): filecontents = open( "urls.txt", "r" ).read() //urls.txt為需要推送的URL文件,每行一個 url = "/urls?site=域名(不帶http)&token=令牌(在自己的百度站長平臺后臺可以看到)" conn = httplib.HTTPConnection('data.zz.baidu.com') conn.request(method="POST", url=url, body=filecontents) response = conn.getresponse() baiduresult = response.read() conn.close() return baiduresult if __name__=="__main__": ts=tuisong() print ts
推送后會返回相關的代碼!
下面是我用的requests實現的,更簡潔:
import requests def tuisong(self): url = "/urls?site=域名(不帶http)&token=令牌(在自己的百度站長平臺后臺可以看到)" filecontents = {'file': open('urls.txt', 'rb')} #urls.txt為需要推送的URL文件,每行一個 r=requests.post("http://data.zz.baidu.com"+url, files=filecontents) baiduresult ="推送成功,結果為%s \n" %(r.text) return baiduresult if __name__=="__main__": ts=tuisong() print(ts)
關于“Python如何實現推送百度鏈接”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。