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

时间: 2024-08-11 17:05:09

Python3分析sitemap.xml抓取导出全站链接的相关文章

我也来学着写写WINDOWS服务-解析xml抓取数据并插入数据库

项目告一段落,快到一年时间开发了两个系统,一个客户已经在试用,一个进入客户测试阶段,中间突然被项目经理(更喜欢叫他W工)分派一个每隔两小时用windows服务去抓取客户提供的外网xml,解析该xml,然后将截取的节点字段值插入到已经建好相应结构的表中.并记录日志. xml结构概要如下: <?xml version="1.0" encoding="UTF-8"?> <list> <info> <id>93ef7c7ccc

【转载】从网站内因分析影响爬虫抓取

一个网站只有爬虫抓取了,才能被收录.有快照.有排名.所以搜索引擎爬虫对网站的抓取情况直接决定了一个网站seo的成败.今天笔者就从网站内部本身来分析一下那些因素将影响到搜索引擎爬虫的爬取: 1.网站速度影响爬虫访问 机房—DNS服务器—CDN—出口带宽--硬件—操作系统—服务器软件—程序 机房的位置:最好选择靠近爬虫的线路 Dns服务器:热门.稳定(推荐dnspod) CDN:在做网站日志分析时候记得算进去 出口带宽:避免与大流量的网站同机房 硬件:在经济允许下使用配置高的 操作系统:推荐linu

【Python3 爬虫】16_抓取腾讯视频评论内容

上一节我们已经知道如何使用Fiddler进行抓包分析,那么接下来我们开始完成一个简单的小例子 抓取腾讯视频的评论内容 首先我们打开腾讯视频的官网https://v.qq.com/ 我们打开[电视剧]这一栏,找到一部比较精彩的电视剧爬取一下,例如:我们就爬取[下一站,别离]这部吧 我们找到这部电视剧的评论如下图: 我们看到上图标记部分[查看更多评论] 我们首先在Fiddelr中使用命令clear清除之前浏览的记录 输入命令直接回车即可 接着我们点击[查看更多评论],此时再次看Fiddler,我们可

在python3下使用OpenCV 抓取摄像头图像并实时显示3色直方图

以下代码为在Python3环境下利用OpenCV 抓取摄像头的实时图像, 通过OpenCV的 calHist函数计算直方图, 并显示在3个不同窗口中. import cv2 import numpy as np from matplotlib import pyplot as plt import time cap  = cv2.VideoCapture(0) for i in range(0, 19):     print(cap.get(i)) while(1):     ret, fram

[ python3 ] 基于zabbix 自动抓取每天监控数据

通过python登录到zabbix直接抓取每天的数据的图片趋势图,并制作成静态index.html给与展示并发送提示邮件. 操作系统:Centos6.7 python版本:python3.5 #!/usr/local/python/bin/python3.5 import sys, os, shutil import os.path import datetime import http.cookiejar import urllib.request import urllib.error im

Python3的requests类抓取中文页面出现乱码的解决办法

这种乱码现象基本上都是编码造成的,我们要转到我们想要的编码,先po一个知识点,嵩天老师在Python网络爬虫与信息提取说到过的:response.encoding是指从HTTP的header中猜测的响应内容编码方式,如果header中不存在charset,则默认编码为ISO-8859-1 ,这样一来某些不规范的服务器返回就必然乱码了:response.apparent_encoding是指从内容中分析出的响应内容编码方式.requests内部的 utils 也提供了一个从返回 body 获取页面

php将抓取的图片链接下载到本地

备注: fclose这一步操作完成之后如果返回值是空表示下载成功,否则会返回1或者其他错误提示 这个步骤测试的时候实在yii2框架的基础上执行的,下载到的图片实在frontend目录下的web目录下(这是默认)!

Python实现抓取页面上链接

方法一: # coding:utf-8import reimport requests# 获取网页内容r = requests.get('http://www.163.com')data = r.text# 利用正则查找所有连接link_list =re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" ,data)for url in link_list:    print url 方法二: 

用Python抓取全站中的404错误

链接是SEO的一个重要因素.为了在搜索引擎中获取更好的排名,一定要定期检查下网站中的链接是否依然有效.特别是由于一些巨大的改动可能会导致坏链接的出现.要检测这些站内的链接问题,可以通过一些在线的工具.比如Google Analytics,Bing Webmaster Tools,brokenlinkcheck.com等.尽管有现成的工具,我们也可以自己来编写一个.使用Python会非常容易. 参考原文:How to Check Broken Links with 404 Error in Pyt