利用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时间整形转标准格式的示例分享
Feb 14 Python
python遍历类中所有成员的方法
Mar 18 Python
你真的了解Python的random模块吗?
Dec 12 Python
Django 2.0版本的新特性抢先看!
Jan 05 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
详谈python中冒号与逗号的区别
Apr 18 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
详解Python3序列赋值、序列解包
May 14 Python
python set内置函数的具体使用
Jul 02 Python
浅谈django2.0 ForeignKey参数的变化
Aug 06 Python
基于matplotlib xticks用法详解
Apr 16 Python
python lambda的使用详解
Feb 26 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
打造计数器DIY三步曲(下)
2006/10/09 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
改写函数实现PHP二维/三维数组转字符串
2013/09/13 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
JavaScript 乱码问题
2009/08/06 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
Python 专题六 局部变量、全局变量global、导入模块变量
2017/03/20 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
python3 map函数和filter函数详解
2019/08/26 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
Python自动创建Excel并获取内容
2020/09/16 Python
东方通信股份有限公司VC面试题
2014/08/27 面试题
工作失误检讨书范文大全
2014/01/13 职场文书
护士长竞聘演讲稿
2014/04/30 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书