利用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深入学习之对象的属性
Aug 31 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
Python之读取TXT文件的方法小结
Apr 27 Python
python 识别图片中的文字信息方法
May 10 Python
python版大富翁源代码分享
Nov 19 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
python basemap 画出经纬度并标定的实例
Jul 09 Python
学习Django知识点分享
Sep 11 Python
基于python实现学生信息管理系统
Nov 22 Python
Python如何给你的程序做性能测试
Jul 29 Python
使用python操作lmdb对数据读取的实例
Dec 11 Python
python statsmodel的使用
Dec 21 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中的foreach问题
2013/06/30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
thinkphp分页集成实例
2017/07/24 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
Python新手们容易犯的几个错误总结
2017/04/01 Python
Python中的Django基本命令实例详解
2018/07/15 Python
Python logging模块用法示例
2018/08/28 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
会走路的树教学反思
2014/02/20 职场文书
团日活动总结怎么写
2014/06/25 职场文书
婚内分居协议书范文
2014/11/26 职场文书
校园开放日新闻稿
2015/07/17 职场文书
关于运动会的广播稿
2015/08/19 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
Python+Appium实现自动抢微信红包
2021/05/21 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL
搭建Yolov5服务器
2022/04/30 Servers