利用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求解水仙花数的方法
May 11 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
Django组件之cookie与session的使用方法
Jan 10 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
Python 生成VOC格式的标签实例
Mar 10 Python
python 日志 logging模块详细解析
Mar 31 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
Nov 27 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+DBM的同学录程序(4)
2006/10/09 PHP
php 表单数据的获取代码
2009/03/10 PHP
PHP缓存技术的使用说明
2011/08/06 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
php桥接模式应用案例分析
2019/10/23 PHP
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
js实现随机点名程序
2020/09/17 Javascript
常见python正则用法的简单实例
2016/06/21 Python
python实现简易通讯录修改版
2018/03/13 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
优秀村官事迹材料
2014/01/10 职场文书
便利店投资创业计划书
2014/02/08 职场文书
领导干部考察材料
2014/02/08 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
公司活动方案范文
2014/03/06 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
人事任命书格式
2014/06/05 职场文书
MySQL 如何分析查询性能
2021/05/12 MySQL