利用Python3分析sitemap.xml并抓取導(dǎo)出全站鏈接詳解
前言
最近網(wǎng)站從HTTPS轉(zhuǎn)為HTTP,更換了網(wǎng)址,舊網(wǎng)址做了301重定向,折騰有點(diǎn)大,于是在百度站長平臺(tái)提交網(wǎng)址,不管是主動(dòng)推送還是手動(dòng)提交,前提都是要整理網(wǎng)站的鏈接,手動(dòng)添加太麻煩,效率低,于是就想寫個(gè)腳本直接抓取全站鏈接并導(dǎo)出,本文就和大家一起分享如何使用python3實(shí)現(xiàn)抓取鏈接導(dǎo)出。
首先網(wǎng)站要有網(wǎng)站地圖sitemap.xml文件地址,其次我這里用的是python3版本,如果你的環(huán)境是python2,需要對代碼進(jìn)行調(diào)整,因?yàn)閜ython2和python3很多地方差別還是挺大的。
下面是python 3代碼,將里面的鏈接地址換成你自己的網(wǎng)址即可:
#coding=utf-8 import urllib import urllib.request import re url='http://www.ranzhi.org/sitemap.xml' html=urllib.request.urlopen(url).read() html=html.decode('utf-8') r=re.compile(r'(http://www.ranzhi.org.*?\.html)') big=re.findall(r,html) for i in big: print(i) op_xml_txt=open('xml.txt','a') op_xml_txt.write('%s\n'%i)
我們能來看一下運(yùn)行結(jié)果:
導(dǎo)出TXT格式文件后,再在百度站長平臺(tái)手動(dòng)提交就方便的多了。當(dāng)然我們也可以使用更快的主動(dòng)推送方式,因?yàn)槲业木W(wǎng)站是用PHP+mysql開發(fā)的,所以我們這里使用PHP腳本將上面抓取的鏈接再處理下,然后主動(dòng)推送給百度,一遍加快爬蟲抓取時(shí)間。
上面1是你的站點(diǎn)的主動(dòng)推送API,這個(gè)可以在百度站長平臺(tái)獲??;2是要主動(dòng)推送的網(wǎng)站地址,這里就可以用到我們上面抓取的全站鏈接了。將鏈接地址整理放到該數(shù)組中,運(yùn)行一下個(gè)這個(gè)PHP腳本,就可以了。一鍵提交,及高效便捷,又能縮短爬蟲爬去時(shí)間,有助于網(wǎng)站頁面收錄。
我們在平時(shí)的SEO或服務(wù)器運(yùn)維工作中,時(shí)常會(huì)將重復(fù)工作自動(dòng)化,復(fù)雜工作間變化,有助于提升效率,如果大家在操作過充中有何問題可以一起分享交流討論。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
編寫Python腳本批量下載DesktopNexus壁紙的教程
這篇文章主要介紹了編寫Python腳本批量下載DesktopNexus壁紙的教程,相較于普通的爬蟲抓取,本文的下載壁紙教程還包括了設(shè)置所要下載的分辨率等功能的實(shí)現(xiàn),需要的朋友可以參考下2015-05-05解決Python pip 自動(dòng)更新升級失敗的問題
今天小編就為大家分享一篇解決Python pip 自動(dòng)更新升級失敗的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python導(dǎo)入模塊的3種方式超級詳細(xì)講解
這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入模塊的3種方式,本文介紹了在Python中使用模塊的概念和不同的導(dǎo)入方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12Dlib+OpenCV深度學(xué)習(xí)人臉識(shí)別的方法示例
這篇文章主要介紹了Dlib+OpenCV深度學(xué)習(xí)人臉識(shí)別的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Python實(shí)現(xiàn)動(dòng)態(tài)繪圖的示例詳解
matplotlib中的animation提供了動(dòng)態(tài)繪圖功能,這篇文章主要為大家詳細(xì)介紹了Python如何利用matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪圖,感興趣的可以了解一下2023-05-05Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法
這篇文章主要介紹了Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08django學(xué)習(xí)之a(chǎn)jax post傳參的2種格式實(shí)例
AJAX除了異步的特點(diǎn)外,還有一個(gè)就是:瀏覽器頁面局部刷新,下面這篇文章主要給大家介紹了關(guān)于django學(xué)習(xí)之a(chǎn)jax post傳參的2種格式的相關(guān)資料,需要的朋友可以參考下2021-05-05Python讀取串口數(shù)據(jù)的實(shí)現(xiàn)方法
本文主要介紹了Python讀取串口數(shù)據(jù)的實(shí)現(xiàn)方法,可以使用pySerial庫來讀取串口數(shù)據(jù),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Python機(jī)器學(xué)習(xí)NLP自然語言處理基本操作新聞分類
本文是Python機(jī)器學(xué)習(xí)NLP自然語言處理系列文章,開始我們自然語言處理 (NLP) 的學(xué)習(xí)旅程. 本文主要學(xué)習(xí)NLP自然語言處理基本操作新聞分類2021-09-09