{"id":1673,"date":"2018-06-22T07:59:47","date_gmt":"2018-06-21T23:59:47","guid":{"rendered":"http:\/\/www.yueguangzu.net\/?p=1673"},"modified":"2018-06-22T07:59:47","modified_gmt":"2018-06-21T23:59:47","slug":"beautifulsoup","status":"publish","type":"post","link":"http:\/\/www.yueguangzu.net\/?p=1673","title":{"rendered":"beautifulsoup"},"content":{"rendered":"<p>&nbsp;<\/p>\n<div id=\"site\">\n<div id=\"ipython-main-app\">\n<div id=\"notebook_panel\">\n<div id=\"notebook\" tabindex=\"-1\">\n<div id=\"notebook-container\" class=\"container\">\n<div class=\"cell text_cell unselected rendered\" tabindex=\"2\">\n<div class=\"inner_cell\">\n<div class=\"text_cell_render rendered_html\" tabindex=\"-1\">\n<table>\n<thead>\n<tr>\n<th>\u89e3\u6790\u5668<\/th>\n<th>\u4f7f\u7528\u65b9\u6cd5<\/th>\n<th>\u4f18\u52bf<\/th>\n<th>\u52a3\u52bf<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Python\u6807\u51c6\u5e93<\/td>\n<td>BeautifulSoup(markup, &#8220;html.parser&#8221;)<\/td>\n<td>Python\u7684\u5185\u7f6e\u6807\u51c6\u5e93\u3001\u6267\u884c\u901f\u5ea6\u9002\u4e2d \u3001\u6587\u6863\u5bb9\u9519\u80fd\u529b\u5f3a<\/td>\n<td>Python 2.7.3 or 3.2.2)\u524d\u7684\u7248\u672c\u4e2d\u6587\u5bb9\u9519\u80fd\u529b\u5dee<\/td>\n<\/tr>\n<tr>\n<td>lxml HTML \u89e3\u6790\u5668<\/td>\n<td>BeautifulSoup(markup, &#8220;lxml&#8221;)<\/td>\n<td>\u901f\u5ea6\u5feb\u3001\u6587\u6863\u5bb9\u9519\u80fd\u529b\u5f3a<\/td>\n<td>\u9700\u8981\u5b89\u88c5C\u8bed\u8a00\u5e93<\/td>\n<\/tr>\n<tr>\n<td>lxml XML \u89e3\u6790\u5668<\/td>\n<td>BeautifulSoup(markup, &#8220;xml&#8221;)<\/td>\n<td>\u901f\u5ea6\u5feb\u3001\u552f\u4e00\u652f\u6301XML\u7684\u89e3\u6790\u5668<\/td>\n<td>\u9700\u8981\u5b89\u88c5C\u8bed\u8a00\u5e93<\/td>\n<\/tr>\n<tr>\n<td>html5lib<\/td>\n<td>BeautifulSoup(markup, &#8220;html5lib&#8221;)<\/td>\n<td>\u6700\u597d\u7684\u5bb9\u9519\u6027\u3001\u4ee5\u6d4f\u89c8\u5668\u7684\u65b9\u5f0f\u89e3\u6790\u6587\u6863\u3001\u751f\u6210HTML5\u683c\u5f0f\u7684\u6587\u6863<\/td>\n<td>\u901f\u5ea6\u6162\u3001\u4e0d\u4f9d\u8d56\u5916\u90e8\u6269\u5c55<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><span class=\"md-line md-end-block\"><span class=\"\">\u57fa\u672c\u7528\u6cd5<\/span><\/span><span class=\"md-line md-end-block\">from bs4 import BeautifulSoup<\/span><\/p>\n<p><span class=\"md-line md-end-block\">html=&#8217;<span class=\"md-tag\" spellcheck=\"false\">&lt;div class=&#8221;ff&#8221;&gt;<\/span>6666<span class=\"md-tag\" spellcheck=\"false\">&lt;\/div&gt;<\/span><span class=\"\">&#8216;<\/span><\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup=BeautifulSoup(&#8221;)<\/span><\/p>\n<p><span class=\"md-line md-end-block\"><span class=\"\">\u9009\u62e9\u5143\u7d20<\/span><\/span><span class=\"md-line md-end-block\">soup.div &#8211;\u83b7\u53d6\u8282\u70b9\u6807\u7b7e,\u8f93\u51fa\u4e3a&#8217;<span class=\"md-tag\" spellcheck=\"false\">&lt;div class=&#8221;ff&#8221;&gt;<\/span>6666<span class=\"md-tag\" spellcheck=\"false\">&lt;\/div&gt;<\/span>&#8216;<\/span><span class=\"md-line md-end-block\">soup.div.string<\/span><\/p>\n<p><span class=\"md-line md-end-block\"> &#8211;\u83b7\u53d6\u6807\u7b7e\u6587\u672c \u8f93\u51fa 6666<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.prettify() &#8211;\u6807\u51c6\u5316 \u81ea\u52a8\u8865\u5168html\u6587\u6863\u524d\u540e\u6807\u7b7e <\/span><\/p>\n<p><span class=\"md-line md-end-block\">\u8f93\u51fa<\/span><\/p>\n<p><span class=\"md-line md-end-block\">&#8216;<span class=\"md-tag\" spellcheck=\"false\">&lt;html&gt;<\/span>\\n <span class=\"md-tag\" spellcheck=\"false\">&lt;body&gt;<\/span>\\n <span class=\"md-tag\" spellcheck=\"false\">&lt;div class=&#8221;ff&#8221;&gt;<\/span>\\n 6665\\n <span class=\"md-tag\" spellcheck=\"false\">&lt;\/div&gt;<\/span>\\n <span class=\"md-tag\" spellcheck=\"false\">&lt;\/body&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;\/html&gt;<\/span>&#8216;<\/span><\/p>\n<p><span class=\"md-line md-end-block\">\u9009\u62e9\u540d\u79f0<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.div.name &gt;&gt; div<\/span><\/p>\n<p><span class=\"md-line md-end-block\">\u9009\u62e9\u5c5e\u6027<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.div.attrs[&#8216;class&#8217;]<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.div[&#8216;class&#8217;]<\/span><\/p>\n<p><span class=\"md-line md-end-block\">&#8211;\u5747\u8f93\u51fa\u5217\u8868 [&#8216;ff&#8217;]<\/span><\/p>\n<p><span class=\"md-line md-end-block\">\u9009\u62e9\u5185\u5bb9<\/span><span class=\"md-line md-end-block\">soup.div.string<\/span><\/p>\n<p><span class=\"md-line md-end-block\"> &#8211;\u53ea\u8fd4\u56de\u7b2c\u4e00\u4e2a<\/span><span class=\"md-line md-end-block\">html=&#8217;<span class=\"md-tag\" spellcheck=\"false\">&lt;div class=&#8221;ff&#8221;&gt;<\/span><span class=\"md-tag\" spellcheck=\"false\">&lt;span&gt;<\/span>6666<span class=\"md-tag\" spellcheck=\"false\">&lt;\/span&gt;<\/span><span class=\"md-tag\" spellcheck=\"false\">&lt;\/div&gt;<\/span>&#8216;<\/span><span class=\"md-line md-end-block\">soup.div.span.string<\/span><\/p>\n<p><span class=\"md-line md-end-block\">\u5b50\u8282\u70b9<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.p.contents &gt;&gt;\u51fa\u6765\u4e00\u4e2a\u5217\u8868,\u5305\u542b\u7a7a\u683c<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.p.children &gt;&gt;\u51fa\u6765\u4e00\u4e2a\u8fed\u4ee3\u5668<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.p.descendants &gt;&gt;\u51fa\u6765\u4e00\u4e2a\u751f\u6210\u5668<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.a.parent &#8211;\u5f53\u524d\u5143\u7d20\u7684\u7236\u8282\u70b9<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.a.parents &#8211;\u5f53\u524d\u5143\u7d20\u7684\u6240\u4ee5\u7236\u8282\u70b9<\/span><\/p>\n<p><span class=\"md-line md-end-block\">list(soup.a.next_siblings) &#8211;\u6240\u6709\u5144\u5f1f\u8282\u70b9 (\u751f\u6210\u5668)<\/span><span class=\"md-line md-end-block\">\u6807\u51c6\u9009\u62e9\u5668<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.find(&#8216;ul&#8217;) &gt;&gt;\u67e5\u627e\u7b2c\u4e00\u4e2aul\u8282\u70b9\u5e76\u8fd4\u56de\u6807\u7b7e\u5185\u5bb9<\/span><\/p>\n<p><span class=\"md-line md-end-block\"><span class=\"md-tag\" spellcheck=\"false\">&lt;ul class=&#8221;list&#8221; id=&#8221;list-1&#8243;&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Foo<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Bar<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Jay<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;\/ul&gt;<\/span><\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.find_all(&#8216;ul&#8217;) &#8211;\u67e5\u627e\u6240\u6709ul\u6807\u7b7e\u5e76\u8fd4\u56de\u5217\u8868<\/span><\/p>\n<p><span class=\"md-line md-end-block\">[<span class=\"md-tag\" spellcheck=\"false\">&lt;ul class=&#8221;list&#8221; id=&#8221;list-1&#8243;&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Foo<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Bar<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Jay<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;\/ul&gt;<\/span>,<\/span><span class=\"md-line md-end-block\"> <span class=\"md-tag\" spellcheck=\"false\">&lt;ul class=&#8221;list list-small&#8221; id=&#8221;list-2&#8243;&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Foo<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Bar<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;\/ul&gt;<\/span>]<\/span><\/p>\n<p><span class=\"md-line md-end-block\">attrs<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.find_all(attrs={&#8216;name&#8217;: &#8216;elements&#8217;}) &#8211;attrs\u5c5e\u6027\u9009\u62e9\u5668,\u5185\u63a5\u4e00\u4e2a\u5bf9\u8c61<\/span><\/p>\n<p><span class=\"md-line md-end-block\">[<span class=\"md-tag\" spellcheck=\"false\">&lt;ul class=&#8221;list&#8221; id=&#8221;list-1&#8243; name=&#8221;elements&#8221;&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Foo<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Bar<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;li class=&#8221;element&#8221;&gt;<\/span>Jay<span class=\"md-tag\" spellcheck=\"false\">&lt;\/li&gt;<\/span>\\n<span class=\"md-tag\" spellcheck=\"false\">&lt;\/ul&gt;<\/span>]<\/span><\/p>\n<p><span class=\"md-line md-end-block\">\u76f4\u63a5class,id\u9009\u62e9\u5668<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.find_all(class<span class=\"\"><em>=&#8221;list list-small&#8221;) &#8211;class\u662f\u5173\u952e\u5b57<\/em><\/span><\/span><\/p>\n<p><span class=\"md-line md-end-block\">text<\/span><\/p>\n<p><span class=\"md-line md-end-block\">soup.find_all(text=&#8221;Bar&#8221;) &gt;&gt; [u&#8217;Bar&#8217;, u&#8217;Bar&#8217;]<\/span><\/p>\n<p><span class=\"md-line md-end-block\">find<\/span><\/p>\n<p><span class=\"md-line md-end-block\">find_parents()<\/span><\/p>\n<p><span class=\"md-line md-end-block\"> find_parent()<\/span><\/p>\n<p><span class=\"md-line md-end-block\">find_parents()<\/span><span class=\"md-line md-end-block\">\u8fd4\u56de\u6240\u6709\u7956\u5148\u8282\u70b9\uff0cfind_parent()\u8fd4\u56de\u76f4\u63a5\u7236\u8282\u70b9\u3002<\/span><\/p>\n<h3 class=\"md-end-block md-heading\">find_next_siblings() find_next_sibling()<\/h3>\n<p><span class=\"md-line md-end-block\">find_next_siblings() find_next_sibling()<\/span><span class=\"md-line md-end-block\">find_next_siblings()\u8fd4\u56de\u540e\u9762\u6240\u6709\u5144\u5f1f\u8282\u70b9\uff0cfind_next_sibling()\u8fd4\u56de\u540e\u9762\u7b2c\u4e00\u4e2a\u5144\u5f1f\u8282\u70b9\u3002<\/span><span class=\"md-line md-end-block\">find_next_siblings()\u8fd4\u56de\u540e\u9762\u6240\u6709\u5144\u5f1f\u8282\u70b9\uff0cfind_next_sibling()\u8fd4\u56de\u540e\u9762\u7b2c\u4e00\u4e2a\u5144\u5f1f\u8282\u70b9\u3002<\/span><\/p>\n<h3 class=\"md-end-block md-heading\">find_previous_siblings() find_previous_sibling()<\/h3>\n<p><span class=\"md-line md-end-block\">find_previous_siblings() find_previous_sibling()<\/span><span class=\"md-line md-end-block\">find_previous_siblings()\u8fd4\u56de\u524d\u9762\u6240\u6709\u5144\u5f1f\u8282\u70b9\uff0cfind_previous_sibling()\u8fd4\u56de\u524d\u9762\u7b2c\u4e00\u4e2a\u5144\u5f1f\u8282\u70b9\u3002<\/span><span class=\"md-line md-end-block\">find_previous_siblings()\u8fd4\u56de\u524d\u9762\u6240\u6709\u5144\u5f1f\u8282\u70b9\uff0cfind_previous_sibling()\u8fd4\u56de\u524d\u9762\u7b2c\u4e00\u4e2a\u5144\u5f1f\u8282\u70b9\u3002<\/span><\/p>\n<h3 class=\"md-end-block md-heading\">find_all_next() find_next()<\/h3>\n<p><span class=\"md-line md-end-block\">find_all_next() find_next()<\/span><span class=\"md-line md-end-block\">find_all_next()\u8fd4\u56de\u8282\u70b9\u540e\u6240\u6709\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9, find_next()\u8fd4\u56de\u7b2c\u4e00\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9<\/span><span class=\"md-line md-end-block\">find_all_next()\u8fd4\u56de\u8282\u70b9\u540e\u6240\u6709\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9, find_next()\u8fd4\u56de\u7b2c\u4e00\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9<\/span><\/p>\n<h3 class=\"md-end-block md-heading\">find_all_previous() \u548c find_previous()<\/h3>\n<p><span class=\"md-line md-end-block\">find_all_previous() \u548c find_previous()<\/span><span class=\"md-line md-end-block\">find_all_previous()\u8fd4\u56de\u8282\u70b9\u540e\u6240\u6709\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9, find_previous()\u8fd4\u56de\u7b2c\u4e00\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9<\/span><span class=\"md-line md-end-block\">find_all_previous()\u8fd4\u56de\u8282\u70b9\u540e\u6240\u6709\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9, find_previous()\u8fd4\u56de\u7b2c\u4e00\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9<\/span><\/p>\n<div>CSS\u9009\u62e9\u5668 \u7528select()<\/div>\n<div>soup.select(&#8216;.panel-heading&#8217;) \u67e5\u627e\u7c7b\u540d\u4e3apanel-heading\u7684\u6807\u7b7e,\u8fd4\u56de\u5217\u8868<\/div>\n<div>soup.select(&#8216;li&#8217;)[2]<\/div>\n<div>\u53ef\u4ee5\u8fdb\u884cfor<\/div>\n<div>for ul in soup.select(&#8216;ul&#8217;):<\/div>\n<div>print(ul.select(&#8216;li&#8217;))<\/div>\n<div>[&lt;li class=&#8221;element&#8221;&gt;Foo&lt;\/li&gt;, &lt;li class=&#8221;element&#8221;&gt;Bar&lt;\/li&gt;, &lt;li class=&#8221;element&#8221;&gt;Jay&lt;\/li&gt;] [&lt;li class=&#8221;element&#8221;&gt;Foo&lt;\/li&gt;, &lt;li class=&#8221;element&#8221;&gt;Bar&lt;\/li&gt;]<\/div>\n<div>\u83b7\u53d6\u5c5e\u6027\u503c<\/div>\n<div>for i in soup.select(&#8216;ul&#8217;):<\/div>\n<div>print i[&#8216;id&#8217;]<\/div>\n<div>\u8f93\u51fa<\/div>\n<div>list-1 list-2<\/div>\n<div>\u83b7\u53d6\u7b2c2\u4e2a\u5143\u7d20\u7684\u5c5e\u6027id\u503c<\/div>\n<div>soup.select(&#8216;ul.list&#8217;)[1][&#8216;id&#8217;]<\/div>\n<div>\u83b7\u53d6\u6807\u7b7e\u6587\u672c\u5185\u5bb9<\/div>\n<div>for li in soup.select(&#8216;li&#8217;):<\/div>\n<div>print(li.get_text())<\/div>\n<div>soup.select(&#8216;li&#8217;)[2].get_text()<\/div>\n<p><!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjEzNjUtMTUyOTYyNDE3ODg4NSIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiJDIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiJTIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiJTIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiLpgIkiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6IuaLqSIsInN0eWxlcyI6eyJjb2xvciI6IiNkZjQwMmEifX0seyJjaGFyIjoi5ZmoIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiIgIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiLnlKgiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6InMiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6ImUiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6ImwiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6ImUiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6ImMiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6InQiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6IigiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6IikiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjQ2MzgtMTUyOTYyNDE4NzAxNiIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiJzIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiInIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiLSJ9LHsiY2hhciI6ImgifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiInIn0seyJjaGFyIjoiKSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiLmn6UifSx7ImNoYXIiOiLmib4ifSx7ImNoYXIiOiLnsbsifSx7ImNoYXIiOiLlkI0ifSx7ImNoYXIiOiLkuLoifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6Ii0ifSx7ImNoYXIiOiJoIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJnIn0seyJjaGFyIjoi55qEIn0seyJjaGFyIjoi5qCHIn0seyJjaGFyIjoi562+In0seyJjaGFyIjoiLCJ9LHsiY2hhciI6Iui\/lCJ9LHsiY2hhciI6IuWbniJ9LHsiY2hhciI6IuWIlyJ9LHsiY2hhciI6IuihqCJ9XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjkzMDAtMTUyOTYyNDIwNzg0MSIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiJzIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiInIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiInIn0seyJjaGFyIjoiKSJ9LHsiY2hhciI6IlsifSx7ImNoYXIiOiIyIn0seyJjaGFyIjoiXSJ9XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjczNDktMTUyOTYyNDI5MzQ0MyIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiLlj68ifSx7ImNoYXIiOiLku6UifSx7ImNoYXIiOiLov5sifSx7ImNoYXIiOiLooYwifSx7ImNoYXIiOiJmIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InIifV19fSx7ImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sImJsb2NrSWQiOiI3NTIyLTE1Mjk2MjQzMDMxMTQiLCJyaWNoVGV4dCI6eyJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlLCJkYXRhIjpbeyJjaGFyIjoiZiJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiKCJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoibCJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiOiJ9XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjM0NjQtMTUyOTYyNDMwMzQxMyIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiKCJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiKSJ9XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjQ1MjAtMTUyOTYyNDMwODU0OSIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiJbIn0seyJjaGFyIjoiPCJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiPSJ9LHsiY2hhciI6IlwiIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibSJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IlwiIn0seyJjaGFyIjoiPiJ9LHsiY2hhciI6IkYifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6IjwifSx7ImNoYXIiOiIvIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiI+In0seyJjaGFyIjoiLCJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiI8In0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJtIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiI+In0seyJjaGFyIjoiQiJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiPCJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Ij4ifSx7ImNoYXIiOiIsIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IjwifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6Ij0ifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6Ij4ifSx7ImNoYXIiOiJKIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6InkifSx7ImNoYXIiOiI8In0seyJjaGFyIjoiLyJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiPiJ9LHsiY2hhciI6Il0ifSx7ImNoYXIiOiJcbiJ9LHsiY2hhciI6IlsifSx7ImNoYXIiOiI8In0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJtIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiI+In0seyJjaGFyIjoiRiJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiPCJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Ij4ifSx7ImNoYXIiOiIsIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IjwifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6Ij0ifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6Ij4ifSx7ImNoYXIiOiJCIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiI8In0seyJjaGFyIjoiLyJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiPiJ9LHsiY2hhciI6Il0ifV19fSx7ImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sImJsb2NrSWQiOiI2NTEwLTE1Mjk2MjQ0Mjg3OTciLCJyaWNoVGV4dCI6eyJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlLCJkYXRhIjpbeyJjaGFyIjoi6I63Iiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiLlj5YiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6IuWxniIsInN0eWxlcyI6eyJjb2xvciI6IiNkZjQwMmEifX0seyJjaGFyIjoi5oCnIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiLlgLwiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjI2OTEtMTUyOTYyNDQzMjYzNSIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiJmIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiInIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiInIn0seyJjaGFyIjoiKSJ9LHsiY2hhciI6IjoifV19fSx7ImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sImJsb2NrSWQiOiIyNzg2LTE1Mjk2MjQ0MzMwNDIiLCJyaWNoVGV4dCI6eyJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlLCJkYXRhIjpbeyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiICJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJbIn0seyJjaGFyIjoiJyJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiJyJ9LHsiY2hhciI6Il0ifV19fSx7ImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sImJsb2NrSWQiOiI1MDczLTE1Mjk2MjQ0NjQ1MTgiLCJyaWNoVGV4dCI6eyJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlLCJkYXRhIjpbeyJjaGFyIjoi6L6TIn0seyJjaGFyIjoi5Ye6In1dfX0seyJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJ0ZXh0LWluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJibG9ja0lkIjoiOTE1OS0xNTI5NjI0NDYxNDA5IiwicmljaFRleHQiOnsiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZSwiZGF0YSI6W3siY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiItIn0seyJjaGFyIjoiMSJ9LHsiY2hhciI6IlxuIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6Ii0ifSx7ImNoYXIiOiIyIn1dfX0seyJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJ0ZXh0LWluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJibG9ja0lkIjoiOTM2Ny0xNTI5NjI0NTQ0MzY3IiwicmljaFRleHQiOnsiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZSwiZGF0YSI6W3siY2hhciI6IuiOtyJ9LHsiY2hhciI6IuWPliJ9LHsiY2hhciI6IuesrCJ9LHsiY2hhciI6IjIifSx7ImNoYXIiOiLkuKoifSx7ImNoYXIiOiLlhYMifSx7ImNoYXIiOiLntKAifSx7ImNoYXIiOiLnmoQifSx7ImNoYXIiOiLlsZ4ifSx7ImNoYXIiOiLmgKcifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6IuWAvCJ9XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6Ijc4MzItMTUyOTYyNDU0MTA5MiIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiJzIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiInIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiWyJ9LHsiY2hhciI6IjEifSx7ImNoYXIiOiJdIn0seyJjaGFyIjoiWyJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiJdIn1dfX0seyJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJ0ZXh0LWluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJibG9ja0lkIjoiNzg2MS0xNTI5NjI0NTQ5OTgxIiwicmljaFRleHQiOnsiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZSwiZGF0YSI6W3siY2hhciI6IuiOtyIsInN0eWxlcyI6eyJjb2xvciI6IiNkZjQwMmEifX0seyJjaGFyIjoi5Y+WIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiLmoIciLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6IuetviIsInN0eWxlcyI6eyJjb2xvciI6IiNkZjQwMmEifX0seyJjaGFyIjoi5paHIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiLmnKwiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6IuWGhSIsInN0eWxlcyI6eyJjb2xvciI6IiNkZjQwMmEifX0seyJjaGFyIjoi5a65Iiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fV19fSx7ImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sImJsb2NrSWQiOiI4NDczLTE1Mjk2MjQ1NTAyMTEiLCJyaWNoVGV4dCI6eyJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlLCJkYXRhIjpbeyJjaGFyIjoiZiJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiKCJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6IicifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiOiJ9XX19LHsiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwiYmxvY2tJZCI6IjUwNTQtMTUyOTYyNDYzNzYyOCIsInJpY2hUZXh0Ijp7ImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWUsImRhdGEiOlt7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiXyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoieCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiKSJ9LHsiY2hhciI6IikifV19fSx7ImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sImJsb2NrSWQiOiI5NzkyLTE1Mjk2MjQ2Mzc2MjgiLCJyaWNoVGV4dCI6eyJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlLCJkYXRhIjpbeyJjaGFyIjoicyJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoicCJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiJyJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiJyJ9LHsiY2hhciI6IikifSx7ImNoYXIiOiJbIn0seyJjaGFyIjoiMiJ9LHsiY2hhciI6Il0ifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiXyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoieCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiKSJ9XX19XQ==--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; \u89e3\u6790\u5668 \u4f7f\u7528\u65b9\u6cd5 \u4f18\u52bf \u52a3\u52bf Python\u6807\u51c6\u5e93 BeautifulSoup(markup, &#8220;html.parser&#8221;) Python\u7684\u5185\u7f6e\u6807\u51c6\u5e93\u3001\u6267\u884c\u901f\u5ea6\u9002\u4e2d \u3001\u6587\u6863\u5bb9\u9519\u80fd\u529b\u5f3a Python 2.7 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[54],"tags":[115,116,76],"_links":{"self":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1673"}],"collection":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1673"}],"version-history":[{"count":1,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1673\/revisions"}],"predecessor-version":[{"id":1674,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1673\/revisions\/1674"}],"wp:attachment":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1673"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}