Python3分析sitemap.xml抓取导出全站链接

最近网站从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或服务器运维工作中,时常会将重复工作自动化,复杂工作间变化,有助于提升效率,如果大家在操作过充中有何问题可以一起分享交流讨论。



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 公众帐号平台大汇总: 微信公众平台:载体是微信手机客户端,海量用户,营销效果超好,订阅用户超500位就可以申请认证...
    IT指北针阅读 644评论 0 2
  • 百度索引量是每个站长都很关注的数据,索引量的多少以为这参与百度网页排名数据量的多少。()今天早上在百度站长平台查看...
    e71531f8a7fa阅读 1,525评论 0 51
  • 6月底公布高考成绩的时候,北京690分文科状元熊轩昂同学说过这样一番话 “像我这种,中产阶级家庭的孩子...
    大琳DL阅读 612评论 2 4
  • 都说减肥是女人一生的事业,我觉得这话不对。如果一生都在减肥,只能说明肥了一生。毕竟谁都不想对着厚厚的游泳圈艰难度日...
    小瑜姑娘阅读 1,637评论 27 37
  • 跳进雨里。与这个夏。一起酣畅淋漓…晚安。茶。水。热了…
    旧茶铺子阅读 171评论 0 0