一个站点地图生成器,适用于URL大于50000的应用程序。

BigSitemap的Python项目详细描述


这个模块基于big_sitemap红宝石。

来自gem描述:

BigSitemap is a Sitemapgenerator suitable for applications with greater than 50,000 URLs. It splits large Sitemaps into multiple files, gzips the files to minimize bandwidth usage…

用法

示例:

import bigsitemap

options = {
    'gzip': True,
    'ping': True,
    'base_url': 'http://cdn.mywebsite.com/sitemaps/',
    'site_url': 'http://www.mywebsite.com/',
    'base_path': '/var/www/cdn/sitemaps'

}


sections = ['/','/boats','/cars','/gadgets','/travel']
places   = ['/parents-house.html','/grocery-store.html']

generator = bigsitemap.Generator(options)

for section in sections:
    generator.add_url('sections',section,{'last_modified':datetime.now(),'change_frequency':'daily','priority':0.6})

for place in places:
    generator.add_url('places',place,{'last_modified':datetime.now(),'change_frequency':'daily','priority':0.6})

generator.finish()
generator.files() #Returns ['sitemap.xml.gz','sections.gz','places.gz']

如果您的站点地图超过50000个url,那么站点地图文件将被分成多个文件(places_1.xml.gz,places_2.xml.gz,…)。

初始化选项

  • 使用gzip?默认值false
  • ping:ping google和bing on finish?默认值false
  • 基本路径:在哪里存储站点地图文件?必需
  • 网址:你的网址是什么?必需
  • 基本URL:如果将XML文件存储到另一个主机中,请在此处提供。默认站点URL

更改频率、优先级和上次修改时间

通过在添加url时将它们作为可选参数传递,可以分别控制每条记录的changefreqprioritylastmod值:

generator.add_url('sections',section,{
    'last_modified':datetime.now(),
    'change_frequency':'daily',
    'priority':0.6

})

待办事项

  • Writer class for dependency injection
  • Automated tests

学分

非常感谢无状态系统(stateless systems.com)发布了big_sitemapruby gem。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在EclipseIDE中设计JavaSwingGUI的最简单方法是什么?   用java显示字符串的第二行   java如何编写一个自定义的crudepository方法(@Query)来过滤我的案例中的结果   如何在Java中解析字符串?   java如何使两个数组随机相等   java为什么hang()方法只执行一次?   java图像缩小问题   java将按键从小程序“转发”到JFrame   错误处理是否适合捕获java。多线程应用程序中的lang.ExceptionInInitializerError?   JAVAlang.IllegalArgumentException:文件不包含有效的私钥:/Users/x/application。钥匙   为什么我们使用动态代理   java VBA填充网页文本框   在方法调用中间没有中断的java IntLIJ思想行包装   java WebDriver driver=新的ChromeDriver(选项);显示构造函数ChromeDriver(ChromeOptions)未定义