{"id":43828,"date":"2022-11-25T05:34:55","date_gmt":"2024-01-02T16:17:48","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/"},"modified":"2024-04-29T02:22:39","modified_gmt":"2024-04-28T18:22:39","slug":"%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/","title":{"rendered":"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams"},"content":{"rendered":"<h2>\u4e3a\u4e86\u4ec0\u4e48<\/h2>\n<p>\u5982\u679c\u662f\u5de5\u7a0b\u5e08\u7684\u8bdd\uff0c\u5c31\u60f3\u8981\u589e\u52a0\u77e5\u8bc6\u7684\u83b7\u53d6\u9014\u5f84\u3002\u8fd9\u6b21\u6211\u6307\u5b9a\u4e86IT\u7c7b\u7f51\u7ad9\u7684\u5173\u952e\u8bcd\u6765\u6536\u96c6\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams\u3002\u4e0b\u6b21\u5e0c\u671b\u80fd\u5c06\u6587\u7ae0\u5185\u5bb9\u8fdb\u884c\u6458\u8981\u5e76\u53d1\u9001\uff0c\u8fbe\u5230\u8fdb\u4e00\u6b65\u7684\u5de5\u5177\u5316\u3002<\/p>\n<h2>\u7cfb\u7edf\u914d\u7f6e<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d553737434c4406cd5a3f\/3-0.png\" alt=\"qiita.png\" \/><\/div>\n<h2>\u5bf9\u76ee\u6807\u53ca\u5176\u67e5\u8be2\u8fdb\u884c\u5206\u6790\u3002<\/h2>\n<p>\u9019\u6b21\u7684\u6e2c\u8a66\u76ee\u6a19\u50c5\u9650\u65bcQiita\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">qiita<\/ul>\n<\/li>\n<\/ul>\n<p>https:\/\/qiita.com\/search?q=___KEYWORD____<\/p>\n<h2>\u4ee3\u7801\u4e3b\u4f53<\/h2>\n<pre class=\"post-pre\"><code><span class=\"kn\">import<\/span> <span class=\"n\">re<\/span><span class=\"p\">,<\/span> <span class=\"n\">openai<\/span><span class=\"p\">,<\/span> <span class=\"n\">json<\/span><span class=\"p\">,<\/span> <span class=\"n\">os<\/span><span class=\"p\">,<\/span> <span class=\"n\">urllib<\/span><span class=\"p\">.<\/span><span class=\"n\">request<\/span><span class=\"p\">,<\/span> <span class=\"n\">json<\/span><span class=\"p\">,<\/span> <span class=\"n\">requests<\/span><span class=\"p\">,<\/span> <span class=\"n\">random<\/span><span class=\"p\">,<\/span> <span class=\"n\">time<\/span><span class=\"p\">,<\/span> <span class=\"n\">pymsteams<\/span><span class=\"p\">,<\/span> <span class=\"n\">time<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"n\">bs4<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">BeautifulSoup<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"n\">pandas<\/span> <span class=\"k\">as<\/span> <span class=\"n\">pd<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"n\">urllib<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">request<\/span>\r\n\r\n<span class=\"n\">teamsapi<\/span> <span class=\"o\">=<\/span> <span class=\"n\">os<\/span><span class=\"p\">.<\/span><span class=\"n\">environ<\/span><span class=\"p\">[<\/span><span class=\"sh\">\"<\/span><span class=\"s\">TEAMS_WEB_HOOK_URL<\/span><span class=\"sh\">\"<\/span><span class=\"p\">]<\/span>\r\n\r\n\r\n<span class=\"k\">def<\/span> <span class=\"nf\">qiita<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">):<\/span>\r\n    <span class=\"n\">url<\/span><span class=\"o\">=<\/span><span class=\"sh\">\"<\/span><span class=\"s\">https:\/\/qiita.com\/search?q=<\/span><span class=\"sh\">\"<\/span>\r\n    <span class=\"n\">pagerand<\/span> <span class=\"o\">=<\/span> <span class=\"n\">random<\/span><span class=\"p\">.<\/span><span class=\"nf\">randint<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">50<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">qurllist<\/span><span class=\"o\">=<\/span><span class=\"p\">[]<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">page<\/span> <span class=\"ow\">in<\/span> <span class=\"nf\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">10<\/span><span class=\"p\">):<\/span>\r\n        <span class=\"n\">page<\/span> <span class=\"o\">=<\/span> <span class=\"n\">page<\/span> <span class=\"o\">+<\/span> <span class=\"n\">pagerand<\/span>\r\n\r\n        <span class=\"n\">mkurl<\/span><span class=\"o\">=<\/span><span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">&amp;sort=rel&amp;stocked=&amp;page=<\/span><span class=\"sh\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">page<\/span><span class=\"p\">)<\/span>\r\n\r\n        <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"nf\">urlopen<\/span><span class=\"p\">(<\/span><span class=\"n\">mkurl<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">soup<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">BeautifulSoup<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"sh\">'<\/span><span class=\"s\">html.parser<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">()<\/span>\r\n\r\n        <span class=\"n\">tag_list<\/span> <span class=\"o\">=<\/span> <span class=\"n\">soup<\/span><span class=\"p\">.<\/span><span class=\"nf\">select<\/span><span class=\"p\">(<\/span><span class=\"sh\">'<\/span><span class=\"s\">a[href].style-1lvpob1<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"k\">for<\/span> <span class=\"n\">tag<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">tag_list<\/span><span class=\"p\">:<\/span>\r\n            <span class=\"n\">tagurl<\/span> <span class=\"o\">=<\/span> <span class=\"n\">tag<\/span><span class=\"p\">.<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"sh\">'<\/span><span class=\"s\">href<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">qurl<\/span><span class=\"o\">=<\/span><span class=\"sh\">\"<\/span><span class=\"s\">https:\/\/qiita.com\/<\/span><span class=\"sh\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">tagurl<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">qurllist<\/span><span class=\"p\">.<\/span><span class=\"nf\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">qurl<\/span><span class=\"p\">)<\/span>\r\n\r\n    <span class=\"k\">for<\/span> <span class=\"n\">url<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">qurllist<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"nf\">urlopen<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">soup<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">BeautifulSoup<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"sh\">'<\/span><span class=\"s\">html.parser<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"n\">title<\/span><span class=\"o\">=<\/span><span class=\"n\">soup<\/span><span class=\"p\">.<\/span><span class=\"nf\">find<\/span><span class=\"p\">(<\/span><span class=\"sh\">\"<\/span><span class=\"s\">title<\/span><span class=\"sh\">\"<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"nf\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">.<\/span><span class=\"n\">text<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"nf\">teamssend<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">.<\/span><span class=\"n\">text<\/span><span class=\"p\">,<\/span> <span class=\"n\">url<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">time<\/span><span class=\"p\">.<\/span><span class=\"nf\">sleep<\/span><span class=\"p\">(<\/span><span class=\"mi\">20<\/span><span class=\"p\">)<\/span>\r\n\r\n\r\n<span class=\"k\">def<\/span> <span class=\"nf\">zenn<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">):<\/span>\r\n    <span class=\"n\">url<\/span><span class=\"o\">=<\/span><span class=\"sh\">\"<\/span><span class=\"s\">https:\/\/zenn.dev\/search<\/span><span class=\"sh\">\"<\/span>\r\n    <span class=\"n\">pagerand<\/span> <span class=\"o\">=<\/span> <span class=\"n\">random<\/span><span class=\"p\">.<\/span><span class=\"nf\">randint<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">qurllist<\/span><span class=\"o\">=<\/span><span class=\"p\">[]<\/span>\r\n    <span class=\"n\">tag_list<\/span><span class=\"o\">=<\/span><span class=\"p\">[]<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">page<\/span> <span class=\"ow\">in<\/span> <span class=\"nf\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">10<\/span><span class=\"p\">):<\/span>\r\n        <span class=\"n\">page<\/span> <span class=\"o\">=<\/span> <span class=\"n\">page<\/span> <span class=\"o\">+<\/span> <span class=\"n\">pagerand<\/span>\r\n\r\n        <span class=\"n\">mkurl<\/span><span class=\"o\">=<\/span><span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">?q=<\/span><span class=\"sh\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">&amp;page=<\/span><span class=\"sh\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">page<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"nf\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">mkurl<\/span><span class=\"p\">)<\/span>\r\n\r\n\r\n        <span class=\"n\">headers<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">User-Agent<\/span><span class=\"sh\">\"<\/span><span class=\"p\">:<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">Mozilla\/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko\/20100101 Firefox\/47.0<\/span><span class=\"sh\">\"<\/span> <span class=\"p\">}<\/span>\r\n        <span class=\"n\">request<\/span> <span class=\"o\">=<\/span> <span class=\"n\">urllib<\/span><span class=\"p\">.<\/span><span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"nc\">Request<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"o\">=<\/span><span class=\"n\">mkurl<\/span><span class=\"p\">,<\/span> <span class=\"n\">headers<\/span><span class=\"o\">=<\/span><span class=\"n\">headers<\/span><span class=\"p\">)<\/span>\r\n\r\n        <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">urllib<\/span><span class=\"p\">.<\/span><span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"nf\">urlopen<\/span><span class=\"p\">(<\/span><span class=\"n\">request<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">soup<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">BeautifulSoup<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"sh\">'<\/span><span class=\"s\">html.parser<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">()<\/span>\r\n\r\n        <span class=\"nf\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">soup<\/span><span class=\"p\">)<\/span>\r\n\r\n        <span class=\"c1\">#for element in soup.find_all('a'):\r\n<\/span>        <span class=\"c1\">#    eurl = element.get(\"href\")\r\n<\/span>        <span class=\"c1\">#    eurl = \"https:\/\/zenn.dev\" + str(eurl)\r\n<\/span>        <span class=\"c1\">#    qurllist.append(eurl)\r\n<\/span>        <span class=\"c1\">#    print(eurl)\r\n<\/span>    <span class=\"c1\">#print(qurllist)\r\n<\/span>\r\n\r\n        <span class=\"c1\">#for tag in tag_list:\r\n<\/span>        <span class=\"c1\">#    tagurl = tag.get('href')\r\n<\/span>        <span class=\"c1\">#    print(tagurl)\r\n<\/span>        <span class=\"c1\">#    qurl=\"https:\/\/zenn.dev\" + str(tagurl)\r\n<\/span>        <span class=\"c1\">#    print(qurl)\r\n<\/span>        <span class=\"c1\">#    qurllist.append(qurl)\r\n<\/span>\r\n\r\n    <span class=\"k\">for<\/span> <span class=\"n\">url<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">qurllist<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"nf\">urlopen<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">soup<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">BeautifulSoup<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"sh\">'<\/span><span class=\"s\">html.parser<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"n\">title<\/span><span class=\"o\">=<\/span><span class=\"n\">soup<\/span><span class=\"p\">.<\/span><span class=\"nf\">find<\/span><span class=\"p\">(<\/span><span class=\"sh\">\"<\/span><span class=\"s\">title<\/span><span class=\"sh\">\"<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"nf\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">.<\/span><span class=\"n\">text<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"nf\">teamssend<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">.<\/span><span class=\"n\">text<\/span><span class=\"p\">,<\/span> <span class=\"n\">url<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">time<\/span><span class=\"p\">.<\/span><span class=\"nf\">sleep<\/span><span class=\"p\">(<\/span><span class=\"mi\">20<\/span><span class=\"p\">)<\/span>\r\n\r\n\r\n\r\n<span class=\"k\">def<\/span> <span class=\"nf\">teamssend<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">,<\/span> <span class=\"n\">text<\/span><span class=\"p\">):<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pymsteams<\/span><span class=\"p\">.<\/span><span class=\"nf\">connectorcard<\/span><span class=\"p\">(<\/span><span class=\"n\">teamsapi<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span><span class=\"p\">.<\/span><span class=\"nf\">title<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span><span class=\"p\">.<\/span><span class=\"nf\">text<\/span><span class=\"p\">(<\/span><span class=\"n\">text<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span><span class=\"p\">.<\/span><span class=\"nf\">send<\/span><span class=\"p\">()<\/span>\r\n\r\n\r\n\r\n\r\n\r\n<span class=\"k\">def<\/span> <span class=\"nf\">insert<\/span><span class=\"p\">():<\/span>\r\n    <span class=\"n\">keywordlist<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"sh\">\"<\/span><span class=\"s\">kubevirt<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">localstack<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">awscli<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">prometheus<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">iac<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">terraform<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">openstack<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">kubernetes<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">docker<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">aws<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">cloud<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">container<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span><span class=\"sh\">\"<\/span><span class=\"s\">ubuntu<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">packet<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">network<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">docker-compose<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">packer<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">SSO<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">S3<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">monitoring<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span><span class=\"sh\">\"<\/span><span class=\"s\">vpn<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">git<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">github<\/span><span class=\"sh\">\"<\/span><span class=\"p\">]<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">keyword<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">random<\/span><span class=\"p\">.<\/span><span class=\"nf\">sample<\/span><span class=\"p\">(<\/span><span class=\"n\">keywordlist<\/span><span class=\"p\">,<\/span> <span class=\"nf\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">keywordlist<\/span><span class=\"p\">)):<\/span>\r\n        <span class=\"nf\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"nf\">qiita<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">)<\/span>\r\n<span class=\"c1\">#        zenn(keyword)\r\n<\/span>\r\n<span class=\"nf\">insert<\/span><span class=\"p\">()<\/span>\r\n<\/code><\/pre>\n<h2>\u521b\u5efa\u670d\u52a1<\/h2>\n<pre class=\"post-pre\"><code>[Unit]\r\nDescription=\r\nDocumentation=\r\n\r\n[Service]\r\nType=simple\r\nUser=root\r\nGroup=root\r\nTimeoutStartSec=0\r\nRestart=on-failure\r\nRestartSec=30s\r\n#ExecStartPre=\r\nExecStart=\/home\/shoma\/ainews\/ainews.sh\r\nSyslogIdentifier=Diskutilization\r\n#ExecStop=\r\n\r\n[Install]\r\n<\/code><\/pre>\n<h2>\u7f16\u5199Shell\u811a\u672c\u3002<\/h2>\n<pre class=\"post-pre\"><code><span class=\"c\">#!\/bin\/bash<\/span>\r\n\r\n<span class=\"nb\">export <\/span><span class=\"nv\">TEAMS_WEB_HOOK_URL<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"https:\/\/smetrocit.webhook.office.com\/webhookb2\/f4891809-6acc-4059-9ad2-e039bf192240@a2c3e6fc-a959-4d2f-b374-4593a068ff9c\/IncomingWebhook\/32554e25629e47c09456be77fd4e4b4c\/40a95c6c-b84c-44be-b5af-dc08583d9f71\"<\/span>\r\n\r\n<span class=\"k\">while <\/span><span class=\"nb\">true\r\n<\/span><span class=\"k\">do\r\n    <\/span>python3 \/home\/shoma\/ainews\/news.py\r\n    <span class=\"nb\">sleep <\/span>21600\r\n<span class=\"k\">done<\/span>\r\n<\/code><\/pre>\n<h2>\u8bf4\u660e<\/h2>\n<p>\u6839\u636e\u67e5\u8be2\u5206\u6790\u7684\u7ed3\u679c\u751f\u6210URL\u3002<\/p>\n<pre class=\"post-pre\"><code>    <span class=\"n\">url<\/span><span class=\"o\">=<\/span><span class=\"sh\">\"<\/span><span class=\"s\">https:\/\/qiita.com\/search?q=<\/span><span class=\"sh\">\"<\/span>\r\n    <span class=\"n\">pagerand<\/span> <span class=\"o\">=<\/span> <span class=\"n\">random<\/span><span class=\"p\">.<\/span><span class=\"nf\">randint<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">50<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">qurllist<\/span><span class=\"o\">=<\/span><span class=\"p\">[]<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">page<\/span> <span class=\"ow\">in<\/span> <span class=\"nf\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">10<\/span><span class=\"p\">):<\/span>\r\n        <span class=\"n\">page<\/span> <span class=\"o\">=<\/span> <span class=\"n\">page<\/span> <span class=\"o\">+<\/span> <span class=\"n\">pagerand<\/span>\r\n\r\n        <span class=\"n\">mkurl<\/span><span class=\"o\">=<\/span><span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">&amp;sort=rel&amp;stocked=&amp;page=<\/span><span class=\"sh\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">page<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<p>\u83b7\u53d6\u7f51\u7ad9\u7684HTML<\/p>\n<pre class=\"post-pre\"><code>        <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"nf\">urlopen<\/span><span class=\"p\">(<\/span><span class=\"n\">mkurl<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">soup<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">BeautifulSoup<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"sh\">'<\/span><span class=\"s\">html.parser<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">()<\/span>\r\n<\/code><\/pre>\n<p>\u63d0\u53d6\u5177\u6709class\u4e3astyle-1lvpob1\u4e14\u5177\u6709href\u5c5e\u6027\u7684a\u6807\u7b7e\u5143\u7d20\u3002<br \/>\n\u7531\u4e8e\u63d0\u53d6\u7ed3\u679c\u5c06\u5728location\u4e2d\u4f7f\u7528\uff0c\u6545\u9700\u52a0\u4e0a\u57df\u540d\u3002<\/p>\n<pre class=\"post-pre\"><code>        <span class=\"n\">tag_list<\/span> <span class=\"o\">=<\/span> <span class=\"n\">soup<\/span><span class=\"p\">.<\/span><span class=\"nf\">select<\/span><span class=\"p\">(<\/span><span class=\"sh\">'<\/span><span class=\"s\">a[href].style-1lvpob1<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"k\">for<\/span> <span class=\"n\">tag<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">tag_list<\/span><span class=\"p\">:<\/span>\r\n            <span class=\"n\">tagurl<\/span> <span class=\"o\">=<\/span> <span class=\"n\">tag<\/span><span class=\"p\">.<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"sh\">'<\/span><span class=\"s\">href<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">qurl<\/span><span class=\"o\">=<\/span><span class=\"sh\">\"<\/span><span class=\"s\">https:\/\/qiita.com\/<\/span><span class=\"sh\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"nf\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">tagurl<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">qurllist<\/span><span class=\"p\">.<\/span><span class=\"nf\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">qurl<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<p>\u83b7\u53d6\u63d0\u53d6\u7684URL\u7684HTML<\/p>\n<pre class=\"post-pre\"><code>    <span class=\"k\">for<\/span> <span class=\"n\">url<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">qurllist<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">response<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"nf\">urlopen<\/span><span class=\"p\">(<\/span><span class=\"n\">url<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">soup<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">BeautifulSoup<\/span><span class=\"p\">(<\/span><span class=\"n\">response<\/span><span class=\"p\">,<\/span> <span class=\"sh\">'<\/span><span class=\"s\">html.parser<\/span><span class=\"sh\">'<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"n\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">close<\/span><span class=\"p\">()<\/span>\r\n<\/code><\/pre>\n<p>\u83b7\u53d6\u6587\u7ae0\u6807\u9898<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">title<\/span><span class=\"o\">=<\/span><span class=\"n\">soup<\/span><span class=\"p\">.<\/span><span class=\"nf\">find<\/span><span class=\"p\">(<\/span><span class=\"sh\">\"<\/span><span class=\"s\">title<\/span><span class=\"sh\">\"<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<p>\u5411Teams\u53d1\u9001\u7ed9\u53d1\u9001\u51fd\u6570<\/p>\n<pre class=\"post-pre\"><code><span class=\"nf\">teamssend<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">.<\/span><span class=\"n\">text<\/span><span class=\"p\">,<\/span> <span class=\"n\">url<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<p>\u5c06\u51fd\u6570\u53d1\u9001\u5230\u56e2\u961f<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">def<\/span> <span class=\"nf\">teamssend<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">,<\/span> <span class=\"n\">text<\/span><span class=\"p\">):<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pymsteams<\/span><span class=\"p\">.<\/span><span class=\"nf\">connectorcard<\/span><span class=\"p\">(<\/span><span class=\"n\">teamsapi<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span><span class=\"p\">.<\/span><span class=\"nf\">title<\/span><span class=\"p\">(<\/span><span class=\"n\">title<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span><span class=\"p\">.<\/span><span class=\"nf\">text<\/span><span class=\"p\">(<\/span><span class=\"n\">text<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">myTeamsMessage<\/span><span class=\"p\">.<\/span><span class=\"nf\">send<\/span><span class=\"p\">()<\/span>\r\n\r\n<\/code><\/pre>\n<p>\u6307\u5b9a\u5173\u952e\u5b57<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">keywordlist<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"sh\">\"<\/span><span class=\"s\">kubevirt<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">localstack<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">awscli<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">prometheus<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">iac<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">terraform<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">openstack<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">kubernetes<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">docker<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">aws<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">cloud<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">container<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span><span class=\"sh\">\"<\/span><span class=\"s\">ubuntu<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">packet<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">network<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">docker-compose<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">packer<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">SSO<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">S3<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">monitoring<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span><span class=\"sh\">\"<\/span><span class=\"s\">vpn<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">git<\/span><span class=\"sh\">\"<\/span><span class=\"p\">,<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">github<\/span><span class=\"sh\">\"<\/span><span class=\"p\">]<\/span>\r\n<\/code><\/pre>\n<p>\u4f9d\u6b21\u5c06\u5173\u952e\u8bcd\u53d1\u9001\u7ed9\u51fd\u6570\u3002<\/p>\n<pre class=\"post-pre\"><code>    <span class=\"k\">for<\/span> <span class=\"n\">keyword<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">random<\/span><span class=\"p\">.<\/span><span class=\"nf\">sample<\/span><span class=\"p\">(<\/span><span class=\"n\">keywordlist<\/span><span class=\"p\">,<\/span> <span class=\"nf\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">keywordlist<\/span><span class=\"p\">)):<\/span>\r\n        <span class=\"nf\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">)<\/span>\r\n        <span class=\"nf\">qiita<\/span><span class=\"p\">(<\/span><span class=\"n\">keyword<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<h2>\u7ed3\u679c (ji\u00e9 gu\u01d2)<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d553737434c4406cd5a3f\/33-0.png\" alt=\"image.png\" \/><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4e3a\u4e86\u4ec0\u4e48 \u5982\u679c\u662f\u5de5\u7a0b\u5e08\u7684\u8bdd\uff0c\u5c31\u60f3\u8981\u589e\u52a0\u77e5\u8bc6\u7684\u83b7\u53d6\u9014\u5f84\u3002\u8fd9\u6b21\u6211\u6307\u5b9a\u4e86IT\u7c7b\u7f51\u7ad9\u7684\u5173\u952e\u8bcd\u6765\u6536\u96c6\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Tea [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43828","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceit\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams\" \/>\n<meta property=\"og:description\" content=\"\u4e3a\u4e86\u4ec0\u4e48 \u5982\u679c\u662f\u5de5\u7a0b\u5e08\u7684\u8bdd\uff0c\u5c31\u60f3\u8981\u589e\u52a0\u77e5\u8bc6\u7684\u83b7\u53d6\u9014\u5f84\u3002\u8fd9\u6b21\u6211\u6307\u5b9a\u4e86IT\u7c7b\u7f51\u7ad9\u7684\u5173\u952e\u8bcd\u6765\u6536\u96c6\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Tea [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceit\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-02T16:17:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T18:22:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d553737434c4406cd5a3f\/3-0.png\" \/>\n<meta name=\"author\" content=\"\u96c5, \u609f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u96c5, \u609f\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/\",\"name\":\"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2024-01-02T16:17:48+00:00\",\"dateModified\":\"2024-04-28T18:22:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\",\"name\":\"\u96c5, \u609f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"caption\":\"\u96c5, \u609f\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceit\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\/","og_locale":"zh_CN","og_type":"article","og_title":"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams","og_description":"\u4e3a\u4e86\u4ec0\u4e48 \u5982\u679c\u662f\u5de5\u7a0b\u5e08\u7684\u8bdd\uff0c\u5c31\u60f3\u8981\u589e\u52a0\u77e5\u8bc6\u7684\u83b7\u53d6\u9014\u5f84\u3002\u8fd9\u6b21\u6211\u6307\u5b9a\u4e86IT\u7c7b\u7f51\u7ad9\u7684\u5173\u952e\u8bcd\u6765\u6536\u96c6\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Tea [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceit\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-01-02T16:17:48+00:00","article_modified_time":"2024-04-28T18:22:39+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d553737434c4406cd5a3f\/3-0.png"}],"author":"\u96c5, \u609f","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u96c5, \u609f","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/","name":"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2024-01-02T16:17:48+00:00","dateModified":"2024-04-28T18:22:39+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u521b\u5efa\u4e00\u4e2a\u5de5\u5177\uff0c\u4eceIT\u7c7b\u7f51\u7ad9\u6536\u96c6\u5305\u542b\u7279\u5b9a\u5173\u952e\u8bcd\u7684\u6587\u7ae0\uff0c\u5e76\u53d1\u9001\u5230Teams"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6","name":"\u96c5, \u609f","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","caption":"\u96c5, \u609f"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aa%e5%b7%a5%e5%85%b7%ef%bc%8c%e4%bb%8eit%e7%b1%bb%e7%bd%91%e7%ab%99%e6%94%b6%e9%9b%86%e5%8c%85%e5%90%ab%e7%89%b9%e5%ae%9a%e5%85%b3%e9%94%ae%e8%af%8d%e7%9a%84%e6%96%87\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43828"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43828\/revisions"}],"predecessor-version":[{"id":74731,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43828\/revisions\/74731"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}