您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Python如何實(shí)現(xiàn)推送百度鏈接,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
通過代碼實(shí)現(xiàn)抓取個(gè)人博客中某一頁指定文章鏈接,并批量將該鏈接推送到百度站長平臺(tái),起到快速收錄的目的。
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("推送: {} --> 狀態(tài): {}".format(push_url,push_ref)) return 1 except: return 0 if __name__ == "__main__": arg = sys.argv get_page(arg[1])
補(bǔ)充
百度目前提供自動(dòng)提交鏈接和手動(dòng)提交鏈接兩種方式,其中自動(dòng)提交又分為主動(dòng)推送、自動(dòng)推送和sitemap三種形式,按百度的說法,主動(dòng)推送的效果最好,百度站長平臺(tái)后臺(tái)也提供了curl、php、ruby的推送示例代碼但沒有提供python代碼,網(wǎng)上很少有現(xiàn)成的python版本主動(dòng)推送代碼(僅有的也有點(diǎn)小問題,需要修改一下),現(xiàn)將目前我正在使用的主動(dòng)推送python代碼貼出。
#encoding:utf-8 import httplib def tuisong(): filecontents = open( "urls.txt", "r" ).read() //urls.txt為需要推送的URL文件,每行一個(gè) url = "/urls?site=域名(不帶http)&token=令牌(在自己的百度站長平臺(tái)后臺(tái)可以看到)" 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
推送后會(huì)返回相關(guān)的代碼!
下面是我用的requests實(shí)現(xiàn)的,更簡(jiǎn)潔:
import requests def tuisong(self): url = "/urls?site=域名(不帶http)&token=令牌(在自己的百度站長平臺(tái)后臺(tái)可以看到)" filecontents = {'file': open('urls.txt', 'rb')} #urls.txt為需要推送的URL文件,每行一個(gè) r=requests.post("http://data.zz.baidu.com"+url, files=filecontents) baiduresult ="推送成功,結(jié)果為%s \n" %(r.text) return baiduresult if __name__=="__main__": ts=tuisong() print(ts)
關(guān)于“Python如何實(shí)現(xiàn)推送百度鏈接”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。