利用Python3分析sitemap.xml并抓取導(dǎo)出全站鏈接詳解
前言
最近網(wǎng)站從HTTPS轉(zhuǎn)為HTTP,更換了網(wǎng)址,舊網(wǎng)址做了301重定向,折騰有點(diǎn)大,于是在百度站長(zhǎng)平臺(tái)提交網(wǎng)址,不管是主動(dòng)推送還是手動(dòng)提交,前提都是要整理網(wǎng)站的鏈接,手動(dòng)添加太麻煩,效率低,于是就想寫(xiě)個(gè)腳本直接抓取全站鏈接并導(dǎo)出,本文就和大家一起分享如何使用python3實(shí)現(xiàn)抓取鏈接導(dǎo)出。
首先網(wǎng)站要有網(wǎng)站地圖sitemap.xml文件地址,其次我這里用的是python3版本,如果你的環(huán)境是python2,需要對(duì)代碼進(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)
我們能來(lái)看一下運(yùn)行結(jié)果:
導(dǎo)出TXT格式文件后,再在百度站長(zhǎng)平臺(tái)手動(dòng)提交就方便的多了。當(dāng)然我們也可以使用更快的主動(dòng)推送方式,因?yàn)槲业木W(wǎng)站是用PHP+mysql開(kāi)發(fā)的,所以我們這里使用PHP腳本將上面抓取的鏈接再處理下,然后主動(dòng)推送給百度,一遍加快爬蟲(chóng)抓取時(shí)間。
上面1是你的站點(diǎn)的主動(dòng)推送API,這個(gè)可以在百度站長(zhǎng)平臺(tái)獲?。?是要主動(dòng)推送的網(wǎng)站地址,這里就可以用到我們上面抓取的全站鏈接了。將鏈接地址整理放到該數(shù)組中,運(yùn)行一下個(gè)這個(gè)PHP腳本,就可以了。一鍵提交,及高效便捷,又能縮短爬蟲(chóng)爬去時(shí)間,有助于網(wǎng)站頁(yè)面收錄。
我們?cè)谄綍r(shí)的SEO或服務(wù)器運(yùn)維工作中,時(shí)常會(huì)將重復(fù)工作自動(dòng)化,復(fù)雜工作間變化,有助于提升效率,如果大家在操作過(guò)充中有何問(wèn)題可以一起分享交流討論。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- python 批量修改 labelImg 生成的xml文件的方法
- Python抓取聚劃算商品分析頁(yè)面獲取商品信息并以XML格式保存到本地
- 橫向?qū)Ρ确治鯬ython解析XML的四種方式
- 用Python解析XML的幾種常見(jiàn)方法的介紹
- 深入解讀Python解析XML的幾種方式
- Python 解析XML文件
- 詳解在Python程序中解析并修改XML內(nèi)容的方法
- 簡(jiǎn)單介紹使用Python解析并修改XML文檔的方法
- Python中使用SAX解析xml實(shí)例
- python實(shí)現(xiàn)的批量分析xml標(biāo)簽中各個(gè)類(lèi)別個(gè)數(shù)功能示例
相關(guān)文章
編寫(xiě)Python腳本批量下載DesktopNexus壁紙的教程
這篇文章主要介紹了編寫(xiě)Python腳本批量下載DesktopNexus壁紙的教程,相較于普通的爬蟲(chóng)抓取,本文的下載壁紙教程還包括了設(shè)置所要下載的分辨率等功能的實(shí)現(xiàn),需要的朋友可以參考下2015-05-05解決Python pip 自動(dòng)更新升級(jí)失敗的問(wèn)題
今天小編就為大家分享一篇解決Python pip 自動(dòng)更新升級(jí)失敗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python導(dǎo)入模塊的3種方式超級(jí)詳細(xì)講解
這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入模塊的3種方式,本文介紹了在Python中使用模塊的概念和不同的導(dǎo)入方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12Dlib+OpenCV深度學(xué)習(xí)人臉識(shí)別的方法示例
這篇文章主要介紹了Dlib+OpenCV深度學(xué)習(xí)人臉識(shí)別的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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)信息的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08django學(xué)習(xí)之a(chǎn)jax post傳參的2種格式實(shí)例
AJAX除了異步的特點(diǎn)外,還有一個(gè)就是:瀏覽器頁(yè)面局部刷新,下面這篇文章主要給大家介紹了關(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庫(kù)來(lái)讀取串口數(shù)據(jù),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作新聞分類(lèi)
本文是Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理系列文章,開(kāi)始我們自然語(yǔ)言處理 (NLP) 的學(xué)習(xí)旅程. 本文主要學(xué)習(xí)NLP自然語(yǔ)言處理基本操作新聞分類(lèi)2021-09-09