利用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 使用get_argument获取url query参数
Apr 28 Python
python模块之time模块(实例讲解)
Sep 13 Python
python列表的增删改查实例代码
Jan 30 Python
django初始化数据库的实例
May 27 Python
如何安装多版本python python2和python3共存以及pip共存
Sep 18 Python
django框架model orM使用字典作为参数,保存数据的方法分析
Jun 24 Python
Python Numpy库datetime类型的处理详解
Jul 13 Python
Python socket 套接字实现通信详解
Aug 27 Python
python中安装django模块的方法
Mar 12 Python
Python使用pyyaml模块处理yaml数据
Apr 14 Python
查看已安装tensorflow版本的方法示例
Apr 19 Python
浅谈Python程序的错误:变量未定义
Jun 02 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
1.PHP简介
2006/10/09 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
PHP弱类型语言中类型判断操作实例详解
2017/08/10 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
Python callable()函数用法实例分析
2018/03/17 Python
python抽取指定url页面的title方法
2018/05/11 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
python实现浪漫的烟花秀
2019/01/30 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
应届大专毕业生个人自荐信
2013/09/22 职场文书
个人求职信范文分享
2013/12/13 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
教师节宣传方案
2014/05/23 职场文书
世界遗产的导游词
2015/02/13 职场文书
三八节活动主持词
2015/07/04 职场文书
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers
Python软件包安装的三种常见方法
2022/07/07 Python