利用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 相关文章推荐
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
值得收藏,Python 开发中的高级技巧
Nov 23 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
Python常用模块sys,os,time,random功能与用法实例分析
Jan 07 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
Jan 14 Python
TFRecord文件查看包含的所有Features代码
Feb 17 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
jupyter note 实现将数据保存为word
Apr 14 Python
python中的django是做什么的
Jul 31 Python
Expected conditions模块使用方法汇总代码解析
Aug 13 Python
Python实现一个论文下载器的过程
Jan 18 Python
使用tensorflow 实现反向传播求导
May 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
php 生成饼图 三维饼图
2009/09/28 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
python机器学习之神经网络(二)
2017/12/20 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
python实现最小二乘法线性拟合
2019/07/19 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
Sony C++笔试题
2013/03/10 面试题
网上卖盒饭创业计划书范文
2014/02/07 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
2014年党课学习材料
2014/05/11 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
检察院起诉意见书
2015/05/20 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript