利用Python3分析sitemap.xml并抓取导出全站链接详解

 更新时间:2017年07月04日 11:59:07   作者:然之  
因为最近更换了网址,所以需要在百度站长平台提交网址,不管是主动推送还是手动提交,前提都是要整理网站的链接,手动添加太麻烦,于是就想写个脚本直接抓取全站链接并导出,本文详细介绍的是实现的方法及过程,需要的朋友们一起来看看吧。

前言

最近网站从HTTPS转为HTTP,更换了网址,旧网址做了301重定向,折腾有点大,于是在百度站长平台提交网址,不管是主动推送还是手动提交,前提都是要整理网站的链接,手动添加太麻烦,效率低,于是就想写个脚本直接抓取全站链接并导出,本文就和大家一起分享如何使用python3实现抓取链接导出。

首先网站要有网站地图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)

我们能来看一下运行结果:

导出TXT格式文件后,再在百度站长平台手动提交就方便的多了。当然我们也可以使用更快的主动推送方式,因为我的网站是用PHP+mysql开发的,所以我们这里使用PHP脚本将上面抓取的链接再处理下,然后主动推送给百度,一遍加快爬虫抓取时间。

上面1是你的站点的主动推送API,这个可以在百度站长平台获取;2是要主动推送的网站地址,这里就可以用到我们上面抓取的全站链接了。将链接地址整理放到该数组中,运行一下个这个PHP脚本,就可以了。一键提交,及高效便捷,又能缩短爬虫爬去时间,有助于网站页面收录。

我们在平时的SEO或服务器运维工作中,时常会将重复工作自动化,复杂工作间变化,有助于提升效率,如果大家在操作过充中有何问题可以一起分享交流讨论。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 解决Python下imread,imwrite不支持中文的问题

    解决Python下imread,imwrite不支持中文的问题

    今天小编就为大家分享一篇解决Python下imread,imwrite不支持中文的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python编程中实现迭代器的一些技巧小结

    Python编程中实现迭代器的一些技巧小结

    只谈迭代器的话在Python中只是一个泛指的概念,具体的可以用yield、生成器表达式、iter等多种方式来构建,这里我们整理了Python编程中实现迭代器的一些技巧小结:
    2016-06-06
  • Python selenium抓取微博内容的示例代码

    Python selenium抓取微博内容的示例代码

    本篇文章主要介绍了Python selenium抓取微博内容的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • python字符串中加空格的四种方法

    python字符串中加空格的四种方法

    本文主要介绍了python字符串中加空格的四种方法,包括使用加法运算符、join()方法、format()方法和f-string,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • 介绍Python中的__future__模块

    介绍Python中的__future__模块

    这篇文章主要介绍了介绍Python中的__future__模块,__future__模块使得在Python2.x的版本下能够兼容更多的Python3.x的特性,需要的朋友可以参考下
    2015-04-04
  • python处理RSTP视频流过程解析

    python处理RSTP视频流过程解析

    这篇文章主要介绍了python处理RSTP视频流过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Django使用HttpResponse返回图片并显示的方法

    Django使用HttpResponse返回图片并显示的方法

    今天小编就为大家分享一篇Django使用HttpResponse返回图片并显示的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python抓取通过Ajax加载数据的示例

    Python抓取通过Ajax加载数据的示例

    在网页上,有一些内容是通过执行Ajax请求动态加载数据渲染出来的,本文主要介绍了使用Python抓取通过Ajax加载数据,感兴趣的可以了解一下
    2023-05-05
  • python过滤字符串中不属于指定集合中字符的类实例

    python过滤字符串中不属于指定集合中字符的类实例

    这篇文章主要介绍了python过滤字符串中不属于指定集合中字符的类,涉及Python针对字符串与集合的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • Python之list对应元素求和的方法

    Python之list对应元素求和的方法

    今天小编就为大家分享一篇Python之list对应元素求和的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论