从零开发短视频电商 爬虫在爬取时注意 robots.txt 和 sitemap.xml

文章目录

      • 1. robots.txt:
      • 2. sitemap.xml:

当我们爬取一个网站时,通常首先查看网站根目录下的两个重要文件: robots.txtsitemap.xml。这两个文件提供了关于网站爬取行为和结构的重要信息。

1. robots.txt:

robots.txt 是一个文本文件,位于网站的根目录下。它用来指导爬虫,告诉它们哪些页面可以抓取,哪些页面不应该被抓取。

示例 robots.txt 文件:

User-agent: *
Disallow: /private/
Disallow: /restricted/
Allow: /public/
  • User-agent: *:这行表示对所有爬虫都生效。
  • Disallow: /private/:表示禁止爬虫访问 /private/ 目录下的内容。
  • Disallow: /restricted/:表示禁止爬虫访问 /restricted/ 目录下的内容。
  • Allow: /public/:表示允许爬虫访问 /public/ 目录下的内容,覆盖了前面的禁止指令。

robots.txt 文件中,有时候会包含指向网站 sitemap.xml 文件的信息,以便搜索引擎更有效地发现网站的内容结构。

User-agent: *
Disallow: /private/
Disallow: /restricted/
Allow: /public/
Sitemap: https://www.example.com/sitemap.xml

新增了一行 Sitemap,指定了网站的 sitemap.xml 文件的位置。这样的信息告诉搜索引擎该网站的 sitemap 文件的位置,方便搜索引擎爬取并索引网站的内容。

请注意,不是所有网站的 robots.txt 文件都会包含 Sitemap 指令,因此搜索引擎也会根据其他方法来发现和索引网站的 sitemap.xml 文件。

以CSDN-https://www.csdn.net/robots.txt站点为:

User-agent: * 
Disallow: /scripts 
Disallow: /public 
Disallow: /css/ 
Disallow: /images/ 
Disallow: /content/ 
Disallow: /ui/ 
Disallow: /js/ 
Disallow: /scripts/ 
Disallow: /article_preview.html* 
Disallow: /tag/
Disallow: /*?*
Disallow: /link/
Disallow: /tags/
Disallow: /news/
Disallow: /xuexi/

以小红书-https://www.xiaohongshu.com/robots.txt站点为:

User-agent:Googlebot
Disallow:/User-agent:Baiduspider
Disallow:/User-agent:bingbot
Disallow:/User-agent:Sogou web spider
Disallow:/User-agent:Sogou wap spider
Disallow:/User-agent:YisouSpider
Disallow:/User-agent:BaiduSpider-ads
Disallow:/User-agent:*
Disallow:/

以阿里云-https://www.aliyun.com/robots.txt为:

User-agent: * 
Disallow: /*?spm=* 
Disallow: /*?tracelog=* 
Disallow: /*?page=* 
Disallow: /template 
Disallow: /admin 
Disallow: /config 
Disallow: /classes 
Disallow: /log 
Disallow: /language 
Disallow: /script 
Disallow: /static 
Disallow: /alilog 
Allow: /s/*Sitemap: https://www.alibabacloud.com/sitemap.xml

2. sitemap.xml:

sitemap.xml 文件包含了网站的结构信息,通常是一个XML文件。它告诉搜索引擎哪些页面是最重要的、最常更新的,以及网站的整体结构。

示例 sitemap.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://www.example.com/page1</loc><lastmod>2023-01-01</lastmod><changefreq>daily</changefreq><priority>0.8</priority></url><url><loc>https://www.example.com/page2</loc><lastmod>2023-01-02</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><!-- more URLs... -->
</urlset>
  • <loc>:表示页面的URL。
  • <lastmod>:表示页面的最后修改时间。
  • <changefreq>:表示页面内容的更新频率,例如 always, hourly, daily, weekly, monthly, yearly, never
  • <priority>:表示页面的优先级,范围是 0.0 到 1.0。

可以通过读取 sitemap.xml 文件更有效地发现和了解网站的内容结构,从而提高爬取效率。

以下是一个多语言Sitemap XML文件的示例,采用了谷歌定义的扩展格式:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"xmlns:xhtml="http://www.w3.org/1999/xhtml"><!-- 主要语言版本 - 中文 --><url><loc>https://www.example.com/zh-cn/page1</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://www.example.com/en-us/page1"/><xhtml:link rel="alternate" hreflang="es-es" href="https://www.example.com/es-es/page1"/></url><!-- 主要语言版本 - 英语 --><url><loc>https://www.example.com/en-us/page2</loc><xhtml:link rel="alternate" hreflang="zh-cn" href="https://www.example.com/zh-cn/page2"/><xhtml:link rel="alternate" hreflang="es-es" href="https://www.example.com/es-es/page2"/></url><!-- 主要语言版本 - 西班牙语 --><url><loc>https://www.example.com/es-es/page3</loc><xhtml:link rel="alternate" hreflang="zh-cn" href="https://www.example.com/zh-cn/page3"/><xhtml:link rel="alternate" hreflang="en-us" href="https://www.example.com/en-us/page3"/></url><!-- 更多URL... -->
</urlset>

在这个示例中:

  • <loc>:表示主要语言版本的页面URL。
  • <xhtml:link>:表示与主要语言版本相关的其他语言版本。每个<xhtml:link>元素都包含以下属性:
    • rel="alternate":指定这是一个替代版本的链接。
    • hreflang:指定替代版本的语言和地区。
    • href:包含替代版本的URL。

这种格式的Sitemap XML可以更精确地告诉搜索引擎每个页面的不同语言版本,帮助搜索引擎更好地理解网站的多语言结构。

以阿里云-https://www.aliyun.com/sitemap.xml为:

<urlsetxmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://www.alibabacloud.com</loc><lastmod>2023-12-28</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url><url><loc>https://www.alibabacloud.com/affiliate</loc><lastmod>2023-12-24</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.alibabacloud.com/blog/a-brief-history-of-development-of-alibaba-cloud-polardb_594254</loc><lastmod>2023-12-24</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.alibabacloud.com/blog/bootstrapping-function-compute-for-web-using-nodejs-sdk-part-1_594257</loc><lastmod>2023-12-24</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.alibabacloud.com/blog/shoucheng-zhang-the-association-of-quantum-computing-artificial-intelligence-and-blockchain_594249</loc><lastmod>2023-12-24</lastmod><changefreq>weekly</changefreq><priority>0.5</priority>

请注意,虽然这两个文件对搜索引擎非常重要,但并不是所有的网站都提供它们。一些网站可能没有 robots.txtsitemap.xml 文件,或者它们的内容可能是空的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/591999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理——冯诺依曼计算机硬件框图

存储器&#xff1a;存放数据和程序 运算器&#xff1a;算术运算和逻辑运算 控制器&#xff1a;指挥程序的运算 输入设备&#xff1a;将信息转化成机器能识别的形式 输出设备&#xff1a;将结果转化成人们熟悉的形式

Centos安装Kafka(KRaft模式)

1. KRaft引入 Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer&#xff0c;以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器的选举等。 由…

使用Apache Commons SCXML实现状态机管理

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;咱们程序员在开发过程中&#xff0c;经常会遇到需要管理不同状态和状态之间转换的场景。比如&#xff0c;一个在线购物的订单&#xff0c;它可能有“新建订单”、“已支付”、“配送中”、“已完成”等状态。在这…

[嵌入式AI从0开始到入土]9_yolov5在昇腾上推理

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注&#xff1a;等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间&#xff0c;后期会考虑出视频教程&#xff0c;务必催更&#xff0c;以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章…

uniapp运行到开发者工具中

uniapp 项目在微信开发者工具中运行&#xff0c;用于开发微信小程序。 微信 appid 获取地址&#xff1a;微信公众平台 运行到微信开发者工具中 一、进入微信公众平台、微信扫码登录、选择开发管理、选择开发设置、复制 appid 。 二、打开 manifest.json 配置文件、选择微信小…

居家康养领导品牌“颐家”完成B轮融资,商业化进程再加速

近日&#xff0c;颐家&#xff08;上海&#xff09;医疗养老服务有限公司&#xff08;以下称“颐家”“公司”&#xff09;宣布引入战略股东。此次融资额达数千万元人民币&#xff0c;资金将主要用于公司业务数智化升级及自费业务产品开发、团队扩展和业务渠道的开拓。本轮融资…

闭包,垃圾回收机制

1.垃圾回收机制 当函数执行完毕后,函数内部的变量就会被销毁。 代码&#xff1a; function fn() {var a 10;a;return a;}console.log(fn()); 输出的结果: 11 持续调用的结果: 2.变量的私有化 代码: function fn() {var a 10;return function fn1() {return a;}…

Redis——centos7环境安装Redis6.2.14版本,make命令编译时报错:jemalloc/jemalloc.h:没有那个文件或目录

一、报错原因 在redis-6.2.14文件夹下有一个README.md文件&#xff0c;有如下一段话&#xff1a; 在构建 Redis 时&#xff0c;通过设置 MALLOC 环境变量来选择非默认的内存分配器。Redis 默认编译并链接到 libc malloc&#xff0c;但在 Linux 系统上&#xff0c;jemalloc 是…

SunTorque智能扭矩系统:扭矩测量都有哪些?

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 扭矩测量是工程领域中一项重要的测量参数&#xff0c;它反映了转矩作用在旋转轴上的力矩大小。扭矩测量方法有很多种&#xff0c;以下介绍几种常用的测量方法&#xff1a; 一、扭力扳手 扭力扳手是一种常见的扭矩测量…

行测小技巧

1. 前推后还是后推前&#xff1f; 前推后&#xff1a; 如果……那么…… 只要……就…… 凡是……都…… 为了……一定…… 必然/必须/不能不 意味着/说明了/关键是后推前&#xff1a; 只有……才…… ……是……必不可少的 ……是……必须的 ……是……的必要前提 除非……&a…

c语言内嵌汇编知识点记录

内容在飞书云文档&#xff0c;点击打开即可。 Docshttps://r0dhfl3ujy9.feishu.cn/docx/EaVIdjGVeoS6fUxiKWkcjAq8nWg?fromfrom_copylink

2024 Win 安装Oracle12C

文章目录 一、下载1.1 官方下载1.2 官方Archive下载1.3 博主提供 二、安装2.1 解压2.2 安装 三、连接3.1 SQL Plus3.2 切换到容器数据库orclpdb3.3 查询SID 四、查看数据4.1 SQL Develop 连接4.2 创建新用户4.3 develop 直接创建新用户4.3.2 SQL 错误: ORA-65096: 公用用户名或…

STM32CubeMX教程13 ADC - 单通道转换

目录 1、准备材料 2、实验目标 3、ADC概述 4、实验流程 4.0、前提知识 4.1、CubeMX相关配置 4.1.1、时钟树配置 4.1.2、外设参数配置 4.1.3、外设中断配置 4.2、生成代码 4.2.1、外设初始化调用流程 4.2.2、外设中断调用流程 4.2.3、添加其他必要代码 5、常用函数…

堆排序(C语言版)

一.堆排序 堆排序即利用堆的思想来进行排序&#xff0c;总共分为两个步骤&#xff1a; 1. 建堆 升序&#xff1a;建大堆 降序&#xff1a;建小堆 2. 利用堆删除思想来进行排序 1.1.利用上下调整法实现堆排序 第一步&#xff1a;建堆 好了&#xff0c;每次建堆都要问自己…

为什么神经网络非常深且大,那就可以用它去解决一项有难度的任务。通往AGI的正确路线。

深且大&#xff0c;解决复杂任务 神经网络的深度&#xff08;层数&#xff09;和大小&#xff08;每层的神经元数量&#xff09;对其能力有重要影响&#xff0c;特别是在解决复杂和有难度的任务时。这可以通过以下几个方面来理解&#xff1a; 表达能力&#xff1a;更深的神经网…

MVCC 并发控制原理-源码解析(非常详细)

基础概念 并发事务带来的问题 1&#xff09;脏读&#xff1a;一个事务读取到另一个事务更新但还未提交的数据&#xff0c;如果另一个事务出现回滚或者进一步更新&#xff0c;则会出现问题。 2&#xff09;不可重复读&#xff1a;在一个事务中两次次读取同一个数据时&#xff0c…

【逆向】从逆向角度看C++

从逆向角度看C 1.2.1 虚函数地址表&#xff08;虚表&#xff09; 定义&#xff1a;当类中定义有虚函数时&#xff0c;编译器会把该类中所有虚函数的首地址保存在一张地址表中&#xff0c;即虚函数地址表。虚表信息在编译后被链接到执行文件中&#xff0c;因此所获得的虚表地址…

解决方案:集成监控易到现有运维平台,采集IT基础数据

一、引言 随着企业信息技术的快速发展&#xff0c;IT设备软硬件、机房动环、摄像头设备等的运行状态对企业的稳定运行至关重要。为了提高对这些设备的监控和管理效率&#xff0c;本方案提出将监控易集成到用户现有的运维平台中&#xff0c;为其他系统运维提供基础数据支撑。 二…

《3D数学基础-图形和游戏开发》阅读笔记 | 3D数学基础 (学习中)

文章目录 3D数学基础矢量/向量概述 - 什么是向量单位矢量&#xff1a;只关注方向不关注大小 数学运算矢量的加法与减法减法的几何意义计算一个点到另一个点的位移矢量的点积与叉积 矩阵矩阵的几何意义 3D数学基础 矢量/向量 在笔记中 变量使用小写字母表示&#xff0c;a由于…

Linux实用指令篇

目录结构 Linux文件系统结构是从Unix文件结构演进过来的。在Linux文件系统中&#xff0c;通用的目录名用于表示一些常见的功能。 Linux 的文件系统是采用层级式的树状目录结构&#xff0c;在此结构中的最上层是 根目录 “/”&#xff0c;然后在此目录下再创建其他的目录。在L…