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

作者:然之 时间:2022-01-26 16:27:08 

前言

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

来源:http://www.oschina.net/question/1387449_2246376?sort=default

标签:python,抓取链接,sitemap.xml
0
投稿

猜你喜欢

  • CSS 裸奔节

    2009-04-09 19:36:00
  • 解决pycharm同一目录下无法import其他文件

    2021-03-22 10:02:14
  • js动态显示当前日期,时间和星期代码

    2007-08-14 12:31:00
  • python目标检测基于opencv实现目标追踪示例

    2022-05-10 13:12:30
  • php中正则替换函数ereg_replace用法实例

    2023-06-13 03:03:51
  • php中json 序列化为 [] 的弊端

    2023-05-25 00:14:30
  • django ManyToManyField多对多关系的实例详解

    2023-08-11 20:21:01
  • python解决Fedora解压zip时中文乱码的方法

    2021-06-02 09:23:09
  • FCKeditor编辑器基本配置优化修改使用方法

    2008-12-31 13:32:00
  • THREE.JS入门教程(5)你应当知道的十件事

    2024-04-18 10:52:01
  • JavaScript 中的 setAttribute

    2008-08-18 13:08:00
  • python定义函数如何判断年份是否为闰年

    2022-01-29 18:56:12
  • Python动态生成多维数组的方法示例

    2023-07-19 04:12:03
  • Docker创建Mysql容器的简单步骤

    2024-01-28 20:20:40
  • Python collections.deque双边队列原理详解

    2022-02-21 04:25:00
  • knockoutjs动态加载外部的file作为component中的template数据源的实现方法

    2024-04-10 10:38:26
  • 深入理解Java线程编程中的阻塞队列容器

    2024-05-13 10:37:58
  • 使用pkg打包Node.js应用的方法步骤

    2024-05-13 09:58:30
  • python import模块时有错误红线的原因

    2021-03-19 13:59:30
  • 在ASP.NET 2.0中操作数据之三十:格式化DataList和Repeater的数据

    2023-07-22 20:15:21
  • asp之家 网络编程 m.aspxhome.com