利用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 七种邮件内容发送方法实例
Apr 22 Python
提升Python程序运行效率的6个方法
Mar 31 Python
Python itertools模块详解
May 09 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
python实现QQ空间自动点赞功能
Apr 09 Python
Python中Numpy ndarray的使用详解
May 24 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Django之使用celery和NGINX生成静态页面实现性能优化
Oct 08 Python
在pytorch中实现只让指定变量向后传播梯度
Feb 29 Python
Node.js 和 Python之间该选择哪个?
Aug 05 Python
Python 数据可视化之Matplotlib详解
Nov 02 Python
Python中的 Set 与 dict
Mar 13 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
JS实现php的伪分页
2008/05/25 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Ruby元编程基础学习笔记整理
2016/07/02 Python
Python3解释器知识点总结
2019/02/19 Python
Python3.4解释器用法简单示例
2019/03/22 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
中学优秀班主任事迹材料
2014/05/01 职场文书
组工干部演讲稿
2014/09/02 职场文书
大学生见习报告范文
2014/11/03 职场文书
立春观后感
2015/06/18 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript