python 3 html元标记解析器,强调复杂的元标记结构,支持opengraph和twitter卡片标记,包括数组处理
metatron的Python项目详细描述
…图片::https://badge.fury.io/py/metatron.svg
:目标:https://badge.fury.io/py/metatron
==
metatron对象扩展dict,所有的元标记数据都在其中设置。:目标:https://badge.fury.io/py/metatron
collector
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
"CPS嫒u观众":"国内观众",
"CPS嫒u changequeueid":"115204091",
"主题颜色":"BB1919",
"MSapplication tilecolor":"BB1919"
}
>;mt['x-country']
>;'GB'
>收集结构开放式图形元标签
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<<
<
<
'说明':'访问bbc新闻获取最新新闻…',
'站点名称':'bbc新闻',
'区域设置':'en'u gb',
'文章':{
'作者':'https://www.facebook.com/bbc news',
'部分':'home'
},
"网址":"http://www.bbc.co.uk/news",
'image'''///m.files.bbci.co.uk/modules/bbc morf新闻waf-page meta/2.1.0/bbc新闻logu-logo.png'
<
<
支持opengraph数组(并且可以作为输入接收内容)支持opengraph数组(并且可以作为输入接收内容)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^::
>;content="
<;meta property="og:title"content="first title tag"/>;
<;meta property="og:title"content="second title tag"/>;
<;meta property="og:description"content="description tag"/>;
<;meta property="og:image"content="http://example.com/image.jpg"/>;
<;meta property="og:image:secure_url"content="https://secure.example.com/image.jpg"/>;
<;meta property="og:image:type"content="image/jpeg"/>;
<;meta property="og:image:width"content="400"/>;
<;meta property="og:image:height"content="300"/>;
<;meta property="og:image:alt"content="first image description"/>;
<;meta property="og:image"content="http://example.com/image2.jpg"/>;
<;meta property="og:image:secure_url"content="https://secure.example.com/image.jpg"/>;
<;meta property="og:image:type"content="image/jpeg"/>;
<;meta property="og:image:width"content="500"/>;
<;meta property="og:image:height"content="600"/>;
<;meta property="og:image:alt"content="second image description"/>;
"
>;mt=metatron(content=content,schemas=['og'])
>;mt.traverse()
{
'og':{
'说明':'说明标签',
‘图像’:[
{
‘alt’:‘第一个图像描述’,
‘高度’:‘300’,
‘图像’:‘http://example.com/image.jpg’,
‘安全URL’:‘https://secure.example.com/image.jpg’,
'类型':'图像/jpeg',
'宽度':'400'
},
{
'高度':'有一口咬出来的闪亮的绿色苹果',
'高度':'600',
"图像":"http://example.com/image2.jpg",
"安全URL":"https://secure.example.com/ogp.jpg",
"类型":"图像/jpeg",
"宽度":"500"
}
],
‘title’:[
‘first title tag’,
‘second title tag’
]
}
添加自己的元标记模式
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
您可以为metatron提供自己的元标记模式规范:
:
>;从metatron导入添加架构规范
>;我的架构规范={
'名称':'boom',
'属性':'name',
'值':'value'
}
>;添加架构规范(我的架构规范)
meta name="boom:title"value="boom title"/>;
<;meta name="boom:description"value="boom description"/>;
:使用
:
>;mt=metatron(url='http://example.com',schemas=['boom'])
>;mt.traverse()
>;{
"boom":{
"title":"boom title",
"description":"boom description"
}
可以从命令行运行
^^^^^^^^^^^^^^^^^^^^^^
:
$make run url=http://bbc.co.uk/news schema=og
$python-m metatron.metatron http://bbc.co.uk/newsog
$获取:http://bbc.co.uk/news(schemas:og)
{'og':{'description':'访问bbc新闻获取最新新闻,中断'
'新闻、视频、音频和专题报道。bbc新闻"
"提供可信的世界和英国新闻,以及本地"
"和地区视角。还有娱乐节目,"
"商业、科学、技术和健康新闻',
'图像':'//m.files.bbci.co.uk/modules/bbc morph news waf page meta/2.2.1/bbc戋news戋logo.png',
'地区':'en戋gb',
'部分':'home',
网站名称:'bbc news',
标题:'home-bbc news',
'类型:'website',
'url':'http://www.bbc.co.uk/news'}
dependencies
^^^^^^^^^^^^^^^^^^^^^^^^
-请求
-美化组4