利用Python3分析sitemap.xml并抓取导出全站链接详解


Posted in Python onJuly 04, 2017

前言

最近网站从HTTPS转为HTTP,更换了网址,旧网址做了301重定向,折腾有点大,于是在百度站长平台提交网址,不管是主动推送还是手动提交,前提都是要整理网站的链接,手动添加太麻烦,效率低,于是就想写个脚本直接抓取全站链接并导出,本文就和大家一起分享如何使用python3实现抓取链接导出。

利用Python3分析sitemap.xml并抓取导出全站链接详解

首先网站要有网站地图sitemap.xml文件地址,其次我这里用的是python3版本,如果你的环境是python2,需要对代码进行调整,因为python2和python3很多地方差别还是挺大的。

下面是python 3代码,将里面的链接地址换成你自己的网址即可:

#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)

我们能来看一下运行结果:

利用Python3分析sitemap.xml并抓取导出全站链接详解

导出TXT格式文件后,再在百度站长平台手动提交就方便的多了。当然我们也可以使用更快的主动推送方式,因为我的网站是用PHP+mysql开发的,所以我们这里使用PHP脚本将上面抓取的链接再处理下,然后主动推送给百度,一遍加快爬虫抓取时间。

利用Python3分析sitemap.xml并抓取导出全站链接详解

上面1是你的站点的主动推送API,这个可以在百度站长平台获取;2是要主动推送的网站地址,这里就可以用到我们上面抓取的全站链接了。将链接地址整理放到该数组中,运行一下个这个PHP脚本,就可以了。一键提交,及高效便捷,又能缩短爬虫爬去时间,有助于网站页面收录。

我们在平时的SEO或服务器运维工作中,时常会将重复工作自动化,复杂工作间变化,有助于提升效率,如果大家在操作过充中有何问题可以一起分享交流讨论。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python实现的下载8000首儿歌的代码分享
Nov 21 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 Python
Python设计模式之工厂模式简单示例
Jan 09 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 Python
对python GUI实现完美进度条的示例详解
Dec 13 Python
Django model update的多种用法介绍
Mar 28 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 Python
python简单的三元一次方程求解实例
Apr 02 Python
python爬虫基础知识点整理
Jun 02 Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 Python
Python学习之迭代器详解
Apr 01 Python
在django中使用自定义标签实现分页功能
Jul 04 #Python
详解django中自定义标签和过滤器
Jul 03 #Python
pygame实现弹力球及其变速效果
Jul 03 #Python
[原创]使用豆瓣提供的国内pypi源
Jul 02 #Python
python中安装Scrapy模块依赖包汇总
Jul 02 #Python
Python使用filetype精确判断文件类型
Jul 02 #Python
使用python实现tcp自动重连
Jul 02 #Python
You might like
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
php计算年龄精准到年月日
2015/11/17 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
TBCompressor js代码压缩
2011/01/05 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
Python程序设计入门(3)数组的使用
2014/06/16 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
python中的for循环
2018/09/28 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
给我一面国旗 python帮你实现
2019/09/30 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
C++的几个面试题附答案
2016/08/03 面试题
Java基础知识面试题
2014/03/25 面试题
计算机应用毕业生自荐信
2013/10/23 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
班主任寄语大全
2014/04/04 职场文书
公司投资建议书
2014/05/16 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB