利用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脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
python实现折半查找和归并排序算法
Apr 14 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
如何关掉pycharm中的python console(图解)
Oct 31 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
利用pyecharts读取csv并进行数据统计可视化的实现
Apr 17 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 Python
使用Python实现微信拍一拍功能的思路代码
Jul 09 Python
python爬虫判断招聘信息是否存在的实例代码
Nov 20 Python
Python中使用ipython的详细教程
Jun 22 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
剖析 PHP 中的输出缓冲
2006/12/21 PHP
组合算法的PHP解答方法
2012/02/04 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
28个JS验证函数收集
2010/03/02 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python数据结构树和二叉树简介
2014/04/29 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
python日期相关操作实例小结
2019/06/24 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
简单了解django文件下载方式
2020/02/10 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
电大本科自我鉴定
2014/02/05 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL