You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建sitemap.xml?以及使用usp库代码生成站点地图失败问题排查

嘿,我来帮你搞定这两个关于站点地图的问题!

问题1:如何创建sitemap.xml?

创建站点地图主要有几种方式,你可以根据站点规模和技术栈来选:

  • 手动编写(适合小型站点)
    如果你的网站页面不多(几十页以内),可以直接手动编写XML文件。遵循官方的sitemap规范,基本结构如下,保存为sitemap.xml放到网站根目录即可:
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
      <url>
        <loc>https://yourwebsite.com/</loc>
        <lastmod>2024-05-20</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
      </url>
      <!-- 其他页面按同样格式添加 -->
    </urlset>
    
  • 用Python库自动生成(适合动态/中型站点)
    像你用到的usp(Universal Sitemap Parser)这类库,就能自动爬取网站页面生成站点地图结构。另外还有pysitemap、sitemap-generator等库可选,根据需求挑选即可。
  • 借助CMS或框架工具(适合大型/框架驱动站点)
    如果用WordPress,Yoast SEO这类插件可以自动生成并更新sitemap;Django项目可以用django.contrib.sitemaps模块配置生成;React/Vue这类单页应用,建议先做预渲染生成静态页面,再用工具生成sitemap。
问题2:排查你的站点地图生成代码问题

先看你贴的代码,最显眼的问题就是sitemap_tree_for_homepage('')里传了个空字符串!库根本不知道要爬哪个网站,肯定跑不起来。我给你一步步排查和修正:

  1. 补上必填的网站URL
    必须传入你的网站首页完整URL(带http/https),比如'https://yourwebsite.com',这是最核心的问题。
  2. 确认依赖安装正确
    先确保你已经安装了usp库,执行命令:
    pip install usp
    
    如果你用的是Python3,可能需要换成pip3。
  3. 检查网络与网站权限
    如果你的网站需要登录、有反爬策略,或者你的网络没法访问目标网站,usp会爬取失败。这种情况可能需要给库添加自定义请求头,或者处理网站的认证逻辑。
  4. 升级库到最新版本
    旧版本的usp可能存在bug,尝试升级到最新版:
    pip install --upgrade usp
    

这里给你修正后的可运行代码,还加了异常捕获方便排查问题:

from usp.tree import sitemap_tree_for_homepage

try:
    # 替换成你自己的网站首页完整URL
    tree = sitemap_tree_for_homepage('https://yourwebsite.com')
    print("站点地图结构:", tree)
    # 遍历所有页面并打印URL
    for page in tree.all_pages():
        print("页面URL:", page.loc)
except Exception as e:
    print("生成失败,错误信息:", str(e))

内容的提问来源于stack exchange,提问作者May

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 21:47:37