利用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列表操作之extend和append的区别实例分析
Jul 28 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
Python实现的KMeans聚类算法实例分析
Dec 29 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
Kears+Opencv实现简单人脸识别
Aug 28 Python
python datetime中strptime用法详解
Aug 29 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
python安装本地whl的实例步骤
Oct 12 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 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/08/24 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
PHP中的session安全吗?
2016/01/22 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
php实现文件上传基本验证
2020/03/04 PHP
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
浅析node.js中close事件
2014/11/26 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
python中树与树的表示知识点总结
2019/09/14 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
python获取栅格点和面值的实现
2020/03/10 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
python 实现逻辑回归
2020/12/30 Python
六月份红领巾广播稿
2014/02/03 职场文书
单位承诺书格式
2014/05/21 职场文书
未婚证明范本
2015/06/15 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
Python图像处理之图像拼接
2021/04/28 Python
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
HTML+JS实现在线朗读器
2022/02/15 Javascript