利用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里对list中的整数求平均并排序
Sep 12 Python
Python正则表达式匹配ip地址实例
Oct 09 Python
Python编程实现及时获取新邮件的方法示例
Aug 10 Python
Python3生成手写体数字方法
Jan 30 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 Python
解决Tensorflow使用pip安装后没有model目录的问题
Jun 13 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
在python 不同时区之间的差值与转换方法
Jan 14 Python
Python大数据之使用lxml库解析html网页文件示例
Nov 16 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
Python猫眼电影最近上映的电影票房信息
Sep 18 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
Python Queue模块详细介绍及实例
2016/12/27 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
python版本五子棋的实现代码
2018/12/11 Python
python提取log文件内容并画出图表
2019/07/08 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
学习退步检讨书
2014/09/28 职场文书
庆七一宣传标语
2014/10/08 职场文书
武侯祠导游词
2015/02/04 职场文书
Golang: 内建容器的用法
2021/05/05 Golang
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
python基础之错误和异常处理
2021/10/24 Python