Browse Source

即时搜索脚本

master
wangyi15124 1 year ago
parent
commit
2ff15d543f
20 changed files with 1844 additions and 0 deletions
  1. +88
    -0
      src/main/resources/static/xml/1.txt
  2. +88
    -0
      src/main/resources/static/xml/10.txt
  3. +88
    -0
      src/main/resources/static/xml/11.txt
  4. +88
    -0
      src/main/resources/static/xml/12.txt
  5. +88
    -0
      src/main/resources/static/xml/13.txt
  6. +88
    -0
      src/main/resources/static/xml/14.txt
  7. +88
    -0
      src/main/resources/static/xml/15.txt
  8. +88
    -0
      src/main/resources/static/xml/16.txt
  9. +88
    -0
      src/main/resources/static/xml/17.txt
  10. +88
    -0
      src/main/resources/static/xml/18.txt
  11. +88
    -0
      src/main/resources/static/xml/19.txt
  12. +136
    -0
      src/main/resources/static/xml/2.txt
  13. +88
    -0
      src/main/resources/static/xml/20.txt
  14. +88
    -0
      src/main/resources/static/xml/3.txt
  15. +118
    -0
      src/main/resources/static/xml/4.txt
  16. +88
    -0
      src/main/resources/static/xml/5.txt
  17. +94
    -0
      src/main/resources/static/xml/6.txt
  18. +88
    -0
      src/main/resources/static/xml/7.txt
  19. +88
    -0
      src/main/resources/static/xml/8.txt
  20. +88
    -0
      src/main/resources/static/xml/9.txt

+ 88
- 0
src/main/resources/static/xml/1.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="150" y="134.5" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="33" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="550" y="134.5" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;dataJson&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${ resp.html.json().data.data }&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="70" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="300" y="137" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;page&quot;,&quot;keyword&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${pageNoData}&quot;,&quot;北京&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="160" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="440" y="132" width="32" height="37" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${&#39;https://www.chinaso.com/v5/general/v1/web/search?q=site:mp.weixin.qq.com+&#39;+keyword+&#39;&amp;pn=&#39;+page+&#39;&amp;ps=15&amp;bid=4151016307959391&#39;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="162" value="" style="strokeWidth=2;sharp=1;" parent="1" source="160" target="33" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="163" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="70" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="164" value="" style="strokeWidth=2;sharp=1;" parent="1" source="70" target="160" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="165" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="680" y="134.5" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${ dataJson.size() }&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="166" value="" style="strokeWidth=2;sharp=1;" parent="1" source="33" target="165" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="167" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="830" y="137" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${strUtils.contains(dataJson[i].title,keyword)?(strUtils.replaceAll(dataJson[i].title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(dataJson[i].title)}&quot;,&quot;${ dataJson[i].url }&quot;,&quot;${ dataJson[i].source }&quot;,&quot;${dateUtils.stampToDate(dataJson[i].timestamp+&#39;000&#39;)}&quot;,&quot;${strUtils.contains( dataJson[i].snippet ,keyword)?(strUtils.replaceAll( dataJson[i].snippet ,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(dataJson[i].snippet)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="170" value="" style="strokeWidth=2;sharp=1;" parent="1" source="165" target="167" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="171" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="960" y="137" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${title}&quot;,&quot;${url}&quot;,&quot;${\&quot;微信公众号\&quot;}&quot;,&quot;${publish_time}&quot;,&quot;${abstract}&quot;,&quot;${author}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="172" value="" style="strokeWidth=2;sharp=1;" parent="1" source="167" target="171" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/10.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="280" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="440" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="9" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="570" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;500&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;header-name&quot;:[&quot;referer&quot;],&quot;header-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://cn.bing.com/search?q=\&quot;+keyword+\&quot;&amp;filters=ex1%3a%22ez1%22&amp;qs=SC&amp;pq=nan&amp;sc=10-3&amp;cvid=005140B2204F4959940C48CB10B385E0&amp;sp=1&amp;first=\&quot;+(page * 10+1)+\&quot;&amp;FORM=PERE\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;header-value&quot;:[&quot;https://cn.bing.com/search?q=%e5%8d%97%e4%ba%ac&amp;filters=ex1%3a%22ez1%22&amp;qs=SC&amp;pq=nan&amp;sc=10-3&amp;cvid=005140B2204F4959940C48CB10B385E0&amp;sp=1&amp;first=21&amp;FORM=PERE1&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="10" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="9" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="150" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="710" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.selectors(\&quot;#b_results &gt; li\&quot;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="186" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="188" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="960" y="190" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${&#39;&#39;}&quot;,&quot;${&#39;&#39;}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${&#39;&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="192" value="" style="strokeWidth=2;sharp=1;" parent="1" source="9" target="150" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="193" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="820" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="194" value="" style="strokeWidth=2;sharp=1;" parent="1" source="150" target="193" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="195" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="960" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;abstract&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(i).selector(&#39;.b_title &gt; h2 &gt; a&#39;).text()}&quot;,&quot;${datalist.get(i).selector(&#39;.b_title &gt; h2 &gt; a&#39;).attr(&#39;href&#39;)}&quot;,&quot;${datalist.get(i).selector(&#39;.b_caption p&#39;).text()}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="196" value="" style="strokeWidth=2;sharp=1;" parent="1" source="193" target="195" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="197" value="" style="strokeWidth=2;sharp=1;" parent="1" source="195" target="188" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/11.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="90" y="122" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="5" value="开始抓取1" style="request" parent="1" vertex="1">
<mxGeometry x="380" y="122" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取1&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;utf-8&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;cookie-name&quot;:[&quot;Cookie&quot;],&quot;cookie-description&quot;:[&quot;&quot;],&quot;header-name&quot;:[&quot;User-Agent&quot;],&quot;header-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${&#39;https://www.baidu.com/s?wd=site%3Axiaohongshu.com%20&#39;+keyword+&#39;&amp;pn=&#39;+startIndex+&#39;0&amp;oq=site%3Axiaohongshu.com%20&#39;+keyword+&#39;&amp;ie=utf-8&amp;rsv_pq=e2f0a475000042c5&amp;rsv_t=9ea9dVLpUJnYTMsMoLr%2FJEKf5u9kVwWw0ClcmcocojFr%2FDLXSOQyIydSLKU&#39;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;cookie-value&quot;:[&quot;BIDUPSID=FFCCEFFD6AD71B7D82B27246697129D3; PSTM=1661740480; BAIDUID=6504A43EB0274812F809031B8671878C:FG=1; BD_UPN=12314753; BDUSS=NneHRaYzJNVnVCQ1lOa2RLNkozYlBNQkJMeHVqMzFOZm96SH5mQWlKajZia2RqSVFBQUFBJCQAAAAAAAAAAAEAAAB~B2D2tcjIscqntcSwrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPrhH2P64R9jb0; BDUSS_BFESS=NneHRaYzJNVnVCQ1lOa2RLNkozYlBNQkJMeHVqMzFOZm96SH5mQWlKajZia2RqSVFBQUFBJCQAAAAAAAAAAAEAAAB~B2D2tcjIscqntcSwrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPrhH2P64R9jb0; H_WISE_SIDS=110085_209568_211986_212870_215730_216941_219942_219946_221410_221796_222298_222396_223064_223683_224055_224065_224086_225202_225640_225854_226026_226087_226589_226674_226722_227117_227592_227614_227864_227932_228374_228535_228650_228668_228978_229060_229155_229286_229363_229526_229691_229867_230020; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BAIDUID_BFESS=6504A43EB0274812F809031B8671878C:FG=1; B64_BOT=1; BDRCVFR[C5g0hgaJYCf]=bvBYpeu9K4bTAR3Qh4-I0; delPer=0; PSINO=3; BA_HECTOR=al8h2h852ka584a4agak0ggo1hj2sn519; ZFY=ieqEe:Ai8741EeaFdWPdP8JYsVLPfdZb2pa5AnSzsKW8:C; channel=bd.pe8.net; COOKIE_SESSION=2832_0_3_3_8_8_0_0_3_3_0_1_2833_0_54_0_1664186476_0_1664186530%7C9%23114260_19_1663339171%7C6; baikeVisitId=9b4f3a04-d583-4052-9723-8095c345a108; BD_CK_SAM=1; sugstore=1; H_PS_645EC=f709ExtDBjjkFE38TE3k8%2B41MnOFC0dMOW6Pc5%2BTWxSUTxI8HeJCOlKpHClk30Xoq46OZjUQVWvG; BDRCVFR[C0p6oIjvx-c]=sycO_VPkq2bfjf4njRdn1DLg1nkgv99; H_PS_PSSID=37378_36548_36460_37354_37495_36885_37486_37396_36786_37447_37371; BDSVRTM=39&quot;],&quot;header-value&quot;:[&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="369" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="510" y="122" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.selectors(&#39;#content_left &gt; div&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="371" value="" style="strokeWidth=2;sharp=1;" parent="1" source="5" target="369" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="392" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="220" y="122" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;,&quot;startIndex&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;,&quot;${page==&#39;0&#39;?&#39;&#39;:(page-1)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="393" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="392" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="394" value="" style="strokeWidth=2;sharp=1;" parent="1" source="392" target="5" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="398" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="620" y="122" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="399" value="" style="strokeWidth=2;sharp=1;" parent="1" source="369" target="398" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="400" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="750" y="122" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(i).selector(&#39;.c-container &gt; div &gt; h3 &gt; a&#39;).text()}&quot;,&quot;${datalist.get(i).selector(&#39;.c-container &gt; div &gt; h3 &gt; a&#39;).attr(&#39;href&#39;)}&quot;,&quot;${\&quot;小红书\&quot;}&quot;,&quot;${datalist.get(i).selector(&#39;.c-color-gray2&#39;).text()}&quot;,&quot;${datalist.get(i).selector(&#39;.content-right_8Zs40&#39;).text()}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="402" value="" style="strokeWidth=2;sharp=1;" parent="1" source="398" target="400" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="404" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="860" y="122" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="405" value="" style="strokeWidth=2;sharp=1;" parent="1" source="400" target="404" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/12.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="112" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="211" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="107" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="661" y="174" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;source_url&quot;,&quot;publish_time&quot;,&quot;descr&quot;,&quot;descr_temp&quot;,&quot;descr_data&quot;,&quot;abstract&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${dataList.get(k).title}&quot;,&quot;${\&quot;https://www.cls.cn/detail/\&quot; + dataList.get(k).id}&quot;,&quot;${dateUtils.stampToDate(dataList.get(k).time +&#39;000&#39;)}&quot;,&quot;${dataList.get(k).descr}&quot;,&quot;${strUtils.replaceAll(descr,&#39;&lt;em&gt;&#39;,&#39;&#39;)}&quot;,&quot;${strUtils.replaceAll(descr_temp,&#39;&lt;/em&gt;&#39;,&#39;&#39;)}&quot;,&quot;${descr_data.length() &lt;= 200 ? descr_data : descr_data.substring(0,200)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="109" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="661" y="268" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${\&quot;财联社\&quot;}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="110" value="" style="strokeWidth=2;sharp=1;" parent="1" source="107" target="109" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="127" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="341" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;POST&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;raw&quot;,&quot;body-content-type&quot;:&quot;application/json&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://www.cls.cn/api/sw?app=CailianpressWeb&amp;os=web&amp;sv=7.7.5&amp;sign=bf0f367462d8cd70917ba5eab3853bce\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;${&#39;{\&quot;type\&quot;:\&quot;depth\&quot;,\&quot;keyword\&quot;:\&quot;&#39;+keyword+&#39;\&quot;,\&quot;page\&quot;:&#39;+(page-1)+&#39;,\&quot;rn\&quot;:10,\&quot;os\&quot;:\&quot;web\&quot;,\&quot;sv\&quot;:\&quot;7.7.5\&quot;,\&quot;app\&quot;:\&quot;CailianpressWeb\&quot;}&#39;}&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="129" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="501" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;dataList&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.data.depth.data}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="130" value="" style="strokeWidth=2;sharp=1;" parent="1" source="127" target="129" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="131" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="661" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;k&quot;,&quot;loopCount&quot;:&quot;${dataList.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="132" value="" style="strokeWidth=2;sharp=1;" parent="1" source="129" target="131" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="133" value="" style="strokeWidth=2;sharp=1;" parent="1" source="131" target="107" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="134" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="135" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="127" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/13.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="190" y="130" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="360" y="130" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="107" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="860" y="246" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;source_url&quot;,&quot;publish_time&quot;,&quot;title&quot;,&quot;art_content&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(k).Art_Url}&quot;,&quot;${datalist.get(k).Art_CreateTime}&quot;,&quot;${datalist.get(k).Art_Title}&quot;,&quot;${datalist.get(k).Art_Content}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="134" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="530" y="130" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;header-name&quot;:[&quot;Referer&quot;],&quot;header-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://searchapi.eastmoney.com/bussiness/Web/GetCMSSearchList?cb=jQuery35109950760626122721_1661172543372&amp;keyword=\&quot;+keyword+\&quot;&amp;type=8193&amp;pageindex=\&quot;+(page)+\&quot;&amp;pagesize=10&amp;name=web&amp;_=1661172543407\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;header-value&quot;:[&quot;https://so.eastmoney.com/&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="136" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="670" y="130" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.substring(41,resp.html.length()-1).json()}&quot;,&quot;${json.Data}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="137" value="" style="strokeWidth=2;sharp=1;" parent="1" source="134" target="136" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="138" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="860" y="130" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;k&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="139" value="" style="strokeWidth=2;sharp=1;" parent="1" source="136" target="138" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="140" value="" style="strokeWidth=2;sharp=1;" parent="1" source="138" target="107" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="143" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="860" y="356" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${&#39;东方财富&#39;}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(art_content,keyword)?(strUtils.replaceAll(art_content,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(art_content)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="144" value="" style="strokeWidth=2;sharp=1;" parent="1" source="107" target="143" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="145" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="146" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="134" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/14.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="170" y="96" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="107" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="754" y="180" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;publish_time&quot;,&quot;source_url&quot;,&quot;source&quot;,&quot;contentDisp&quot;,&quot;content&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(k).title.substring(1,datalist.get(k).title.length()-1)}&quot;,&quot;${dateUtils.stampToDate(datalist.get(k).createTime +&#39;000&#39;)}&quot;,&quot;${\&quot;https://www.gelonghui.com/live/\&quot;+datalist.get(k).id}&quot;,&quot;${datalist.get(k).stocks.get(0).stockName}&quot;,&quot;${strUtils.replaceAll(datalist.get(k).contentDisp,&#39;&lt;hl&gt;&#39;,&#39;&#39;)}&quot;,&quot;${strUtils.replaceAll(contentDisp,&#39;&lt;/hl&gt;&#39;,&#39;&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="129" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="754" y="280" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(content,keyword)?(strUtils.replaceAll(content,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(content)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="145" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="430" y="96" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;300&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://www.gelonghui.com/api/live/search/v2?keyword=\&quot;+keyword+\&quot;&amp;page=\&quot;+(page)+\&quot;&amp;count=10\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="147" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="600" y="96" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.result}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="148" value="" style="strokeWidth=2;sharp=1;" parent="1" source="145" target="147" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="149" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="754" y="96" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;k&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="150" value="" style="strokeWidth=2;sharp=1;" parent="1" source="147" target="149" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="151" value="" style="strokeWidth=2;sharp=1;" parent="1" source="149" target="107" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="153" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="300" y="96" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="154" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="153" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="155" value="" style="strokeWidth=2;sharp=1;" parent="1" source="153" target="145" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="157" value="" style="strokeWidth=2;sharp=1;" parent="1" source="107" target="129" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/15.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="100" y="120" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="260" y="120" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="107" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="760" y="120" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;source_url&quot;,&quot;publish_time&quot;,&quot;summary&quot;,&quot;abstract1&quot;,&quot;abstract&quot;,&quot;source&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${dataList.get(k).title.replaceAll(\&quot;&lt;/?[^&gt;]+&gt;\&quot;, \&quot;\&quot;)}&quot;,&quot;${dataList.get(k).link}&quot;,&quot;${dateUtils.stampToDate(dataList.get(k).createTimestamp +&#39;000&#39;)}&quot;,&quot;${dataList.get(k).summary}&quot;,&quot;${summary.length() &lt;= 200 ? summary : summary.substring(0,200)}&quot;,&quot;${abstract1.replaceAll(\&quot;&lt;/?[^&gt;]+&gt;\&quot;, \&quot;\&quot;)}&quot;,&quot;${dataList.get(k).source}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="109" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="760" y="214" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="110" value="" style="strokeWidth=2;sharp=1;" parent="1" source="107" target="109" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="134" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="380" y="120" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;300&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://www.gelonghui.com/api/post/search/v4?keyword=\&quot;+keyword+\&quot;&amp;isVipArticle=false&amp;count=10&amp;page=\&quot;+(page)+\&quot;&amp;searchArea=title\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="136" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="490" y="120" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;dataList&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.result}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="137" value="" style="strokeWidth=2;sharp=1;" parent="1" source="134" target="136" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="138" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="610" y="120" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;k&quot;,&quot;loopCount&quot;:&quot;${dataList.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="139" value="" style="strokeWidth=2;sharp=1;" parent="1" source="136" target="138" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="140" value="" style="strokeWidth=2;sharp=1;" parent="1" source="138" target="107" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="146" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="147" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="134" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/16.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="80" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="250" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;1&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="9" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="380" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;POST&quot;,&quot;sleep&quot;:&quot;300&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;header-name&quot;:[&quot;cookie&quot;],&quot;header-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;raw&quot;,&quot;body-content-type&quot;:&quot;application/json&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://www.cls.cn/api/sw?app=CailianpressWeb&amp;os=web&amp;sv=7.7.5&amp;sign=bf0f367462d8cd70917ba5eab3853bce\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;header-value&quot;:[&quot;${cookie}&quot;],&quot;request-body&quot;:&quot;${&#39;{\&quot;type\&quot;:\&quot;telegram\&quot;,\&quot;keyword\&quot;:\&quot;&#39;+keyword+&#39;\&quot;,\&quot;page\&quot;:&#39;+page+&#39;,\&quot;rn\&quot;:10,\&quot;os\&quot;:\&quot;web\&quot;,\&quot;sv\&quot;:\&quot;7.7.5\&quot;,\&quot;app\&quot;:\&quot;CailianpressWeb\&quot;}&#39;}&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="10" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="9" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="107" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="920" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;source_url&quot;,&quot;publish_time&quot;,&quot;title1&quot;,&quot;title2&quot;,&quot;title&quot;,&quot;abstract1&quot;,&quot;abstract2&quot;,&quot;abstract&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${\&quot;https://www.cls.cn/detail/\&quot; + dataList.get(k).id}&quot;,&quot;${dateUtils.stampToDate( dataList.get(k).time +&#39;000&#39;)}&quot;,&quot;${dataList.get(k).descr}&quot;,&quot;${title1.substring(1,title1.indexOf(&#39;】&#39;))}&quot;,&quot;${title2.replaceAll(\&quot;&lt;/?[^&gt;]+&gt;\&quot;, \&quot;\&quot;)}&quot;,&quot;${dataList.get(k).descr}&quot;,&quot;${abstract1.length() &lt;= 200 ? abstract1 : abstract1.substring(0,200)}&quot;,&quot;${abstract2.replaceAll(\&quot;&lt;/?[^&gt;]+&gt;\&quot;, \&quot;\&quot;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="133" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="560" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json1&quot;,&quot;dataList&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json1.data.telegram.data}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="135" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="720" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;k&quot;,&quot;loopCount&quot;:&quot;${dataList.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="137" value="" style="strokeWidth=2;sharp=1;" parent="1" source="135" target="107" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="138" value="" style="strokeWidth=2;sharp=1;" parent="1" source="133" target="135" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="142" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="920" y="210" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${&#39;格隆汇&#39;}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${\&quot;-\&quot;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="143" value="" style="strokeWidth=2;sharp=1;" parent="1" source="107" target="142" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="150" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="151" value="" style="strokeWidth=2;sharp=1;" parent="1" source="9" target="133" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/17.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="80" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="3" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="230" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="4" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="3" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="5" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="390" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://cn.bing.com/videos/asyncv2?q=\&quot;+keyword+\&quot;&amp;async=content&amp;first=\&quot;+page+\&quot;&amp;count=35&amp;dgst=RowIndex_u6*ColumnIndex_u4*TotalWidth_u1192*OrdinalPosition_u34*ThumbnailWidth_u270*HeroContainerWidth_u1463*HeroContainerHeight_u275*HeroOnPage_b0*SlidesGridOnPage_b0*arn_u0*ayo_u0*cry_u1686*&amp;IID=video.1&amp;SFX=2&amp;IG=B334CEAB86F542A2BA6167EE320E125D&amp;CW=1519&amp;CH=348&amp;dgcw=1491&amp;form=QBVR\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="6" value="" style="strokeWidth=2;sharp=1;" parent="1" source="3" target="5" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="510" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.selectors(&#39;.dg_u&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="8" value="" style="strokeWidth=2;sharp=1;" parent="1" source="5" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="9" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="650" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="10" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="9" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="11" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="760" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;vediourl&quot;,&quot;videoorientationurl&quot;,&quot;videojson&quot;,&quot;imglist&quot;,&quot;imgjson&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;title&quot;,&quot;publish_time1&quot;,&quot;publish_time&quot;,&quot;source&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(i).selector(&#39;a&#39;).attr(&#39;href&#39;)}&quot;,&quot;${datalist.get(i).selector(&#39;a img&#39;).attr(&#39;src&#39;)}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${jsonUtils.createJsonArray()}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${imglist.add(imgjson)}&quot;,&quot;${videojson.put(\&quot;imglist\&quot;,imglist)}&quot;,&quot;${videojson.put(\&quot;vediourl\&quot;,vediourl)}&quot;,&quot;${videojson.put(\&quot;videoorientationurl\&quot;,videoorientationurl)}&quot;,&quot;${datalist.get(i).selector(&#39;a img&#39;).attr(&#39;alt&#39;)}&quot;,&quot;${datalist.get(i).selector(&#39;div.mc_vtvc_meta_block_area &gt; div &gt; div:nth-child(1) &gt; span&#39;).text()}&quot;,&quot;${publish_time1.contains(&#39;次观看&#39;) || publish_time1.contains(&#39;浏览&#39;) ? &#39;&#39; : publish_time1}&quot;,&quot;${datalist.get(i).selector(&#39;div.mc_vtvc_meta_block_area &gt; div &gt; div:nth-child(2) &gt; span&#39;).text()}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="12" value="" style="strokeWidth=2;sharp=1;" parent="1" source="9" target="11" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="13" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="920" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;videojson&quot;,&quot;title&quot;,&quot;publish_time&quot;,&quot;source&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${videojson}&quot;,&quot;${title}&quot;,&quot;${publish_time}&quot;,&quot;${source}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="14" value="" style="strokeWidth=2;sharp=1;" parent="1" source="11" target="13" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/18.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="80" y="112" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="3" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="240" y="112" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="4" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="3" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="5" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="380" y="112" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://image.baidu.com/search/acjson?tn=resultjson_com&amp;logid=10483604795040733756&amp;ipn=rj&amp;ct=201326592&amp;is=&amp;fp=result&amp;fr=&amp;word=\&quot;+keyword+\&quot;&amp;queryWord=\&quot;+keyword+\&quot;&amp;cl=2&amp;lm=-1&amp;ie=utf-8&amp;oe=utf-8&amp;adpicid=&amp;st=&amp;z=&amp;ic=&amp;hd=&amp;latest=&amp;copyright=&amp;s=&amp;se=&amp;tab=&amp;width=&amp;height=&amp;face=&amp;istype=&amp;qc=&amp;nc=1&amp;expermode=&amp;nojc=&amp;isAsync=&amp;pn=90&amp;rn=30&amp;gsm=5a0000000000005a&amp;1666579181622=\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="6" value="" style="strokeWidth=2;sharp=1;" parent="1" source="3" target="5" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="520" y="112" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.data}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="8" value="" style="strokeWidth=2;sharp=1;" parent="1" source="5" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="9" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="640" y="112" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="10" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="9" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="11" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="780" y="112" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;publish_time&quot;,&quot;videojson&quot;,&quot;imglist&quot;,&quot;imgjson&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(i).fromPageTitle}&quot;,&quot;${datalist.get(i).thumbURL}&quot;,&quot;${datalist.get(i).bdImgnewsDate}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${jsonUtils.createJsonArray()}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${imgjson.put(\&quot;imgurl\&quot;,url)}&quot;,&quot;${imglist.add(imgjson)}&quot;,&quot;${videojson.put(\&quot;imglist\&quot;,imglist)}&quot;,&quot;${videojson.put(\&quot;vediourl\&quot;,&#39;&#39;)}&quot;,&quot;${videojson.put(\&quot;videoorientationurl\&quot;,&#39;&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="12" value="" style="strokeWidth=2;sharp=1;" parent="1" source="9" target="11" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="13" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="930" y="112" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;videojson&quot;,&quot;publish_time&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${videojson}&quot;,&quot;${publish_time}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="14" value="" style="strokeWidth=2;strokeColor=blue;sharp=1;" parent="1" source="11" target="13" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;blue&quot;,&quot;condition&quot;:&quot;${title != null &amp;&amp; url != null}&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/19.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="80" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="3" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="210" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="4" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="3" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="5" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="350" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;header-name&quot;:[&quot;Cookie&quot;,&quot;Referer&quot;,&quot;User-Agent&quot;],&quot;header-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://so.toutiao.com/search?dvpf=pc&amp;source=search_subtab_switch&amp;keyword=\&quot;+keyword+\&quot;&amp;pd=atlas&amp;action_type=search_subtab_switch&amp;page_num=\&quot;+(page-1)+\&quot;&amp;search_id=2022102411264801015013416052D26757&amp;from=gallery&amp;cur_tab_title=gallery&amp;rawJSON=1\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;header-value&quot;:[&quot;_tea_utm_cache_4916=undefined; _S_DPR=1.25; _S_IPAD=0; MONITOR_WEB_ID=7156843505628530190; passport_csrf_token=8506d4b37fcefe68598d341fa50b3476; passport_csrf_token_default=8506d4b37fcefe68598d341fa50b3476; tt_webid=7156843505628530190; ttwid=1%7CcKwTgA4nrKSNy2DiS9Cn7Xpik-BnaGBfw34wTz5Itx8%7C1666581921%7Cb19d3198d43fec1a13002bf16b78b3d0e3c38b49b05029161f86eaba8ee986e7; _S_WIN_WH=1536_360&quot;,&quot;https://so.toutiao.com/search?dvpf=pc&amp;source=search_subtab_switch&amp;keyword=%E4%BB%8A%E5%A4%A9%E5%90%83%E4%BB%80%E4%B9%88&amp;pd=atlas&amp;action_type=search_subtab_switch&amp;page_num=0&amp;search_id=&amp;from=gallery&amp;cur_tab_title=gallery&quot;,&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="6" value="" style="strokeWidth=2;sharp=1;" parent="1" source="3" target="5" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="470" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.rawData.data}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="8" value="" style="strokeWidth=2;sharp=1;" parent="1" source="5" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="9" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="580" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="10" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="9" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="11" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="680" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;videojson&quot;,&quot;imglist&quot;,&quot;imgjson&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(i).text}&quot;,&quot;${datalist.get(i).img_url}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${jsonUtils.createJsonArray()}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${imgjson.put(\&quot;imgurl\&quot;,url)}&quot;,&quot;${imglist.add(imgjson)}&quot;,&quot;${videojson.put(\&quot;imglist\&quot;,imglist)}&quot;,&quot;${videojson.put(\&quot;vediourl\&quot;,&#39;&#39;)}&quot;,&quot;${videojson.put(\&quot;videoorientationurl\&quot;,&#39;&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="12" value="" style="strokeWidth=2;sharp=1;" parent="1" source="9" target="11" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="13" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="800" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;publish_time&quot;,&quot;videojson&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${&#39;&#39;}&quot;,&quot;${videojson}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="14" value="" style="strokeWidth=2;sharp=1;" parent="1" source="11" target="13" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 136
- 0
src/main/resources/static/xml/2.txt View File

@@ -0,0 +1,136 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="80" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="21" value="根据关键词搜索" style="request" parent="1" vertex="1">
<mxGeometry x="630" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;根据关键词搜索&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;1000&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;1&quot;,&quot;retryInterval&quot;:&quot;2000&quot;,&quot;cookie-name&quot;:[&quot;cookie&quot;],&quot;cookie-description&quot;:[&quot;&quot;],&quot;header-name&quot;:[&quot;user-agent&quot;],&quot;header-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26q%3D%23${keyword}%23&amp;page_type=searchall&amp;page=${pageNo}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;cookie-value&quot;:[&quot;SUB=_2AkMUDYtbf8NxqwJRmfwTz2LhZIhyyw7EieKiUXqAJRMxHRl-yT9jqhYstRB6P42ltJExNYB2psyLl8ONit3Dytbl__Lo; SUBP=0033WrSXqPxfM72-Ws9jqgMF55529P9D9WWcnADUlTd4zwRxZivlmOy.; _s_tentry=passport.weibo.com; Apache=5401105109200.461.1666253868866; SINAGLOBAL=5401105109200.461.1666253868866; ULV=1666253868908:1:1:1:5401105109200.461.1666253868866:&quot;],&quot;header-value&quot;:[&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="23" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="720" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;jsonhtml&quot;,&quot;data&quot;,&quot;parseArray&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${jsonUtils.parseObject(resp.html)}&quot;,&quot;${jsonhtml.getJSONObject(\&quot;data\&quot;)}&quot;,&quot;${data.getJSONArray(\&quot;cards\&quot;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="30" value="自定义的关键词" style="variable" parent="1" vertex="1">
<mxGeometry x="380" y="200" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;自定义的关键词&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;pageNo&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;南京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="34" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="830" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;z&quot;,&quot;loopCount&quot;:&quot;${parseArray}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;100&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="35" value="" style="strokeWidth=2;strokeColor=#00ff00;sharp=1;" parent="1" source="23" target="34" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;2&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;#00ff00&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="36" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="930" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;jsonobject&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${parseArray.getJSONObject(z)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="37" value="" style="strokeWidth=2;sharp=1;" parent="1" source="34" target="36" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="38" value="含有card_group" style="variable" parent="1" vertex="1">
<mxGeometry x="1120" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;含有card_group&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;cardgrouparray&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${jsonobject.getJSONArray(\&quot;card_group\&quot;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="39" value="判断关键字,确定json类型" style="strokeWidth=2;strokeColor=#00ff00;sharp=1;" parent="1" source="36" target="38" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;判断关键字,确定json类型&quot;,&quot;exception-flow&quot;:&quot;2&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;#00ff00&quot;,&quot;condition&quot;:&quot;${jsonobject.containsKey(\&quot;card_group\&quot;) == true}&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="40" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="1210" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;index&quot;,&quot;loopCount&quot;:&quot;${cardgrouparray.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;300&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="41" value="" style="strokeWidth=2;strokeColor=#00ff00;sharp=1;" parent="1" source="38" target="40" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;2&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;#00ff00&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="42" value="获取内容详情页" style="variable" parent="1" vertex="1">
<mxGeometry x="1402" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;获取内容详情页&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;source_url&quot;,&quot;url&quot;,&quot;mblog&quot;,&quot;abstract&quot;,&quot;publish_time&quot;,&quot;source&quot;,&quot;title&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${cardgrouparray.getJSONObject(index).getString(\&quot;scheme\&quot;)}&quot;,&quot;${source_url.split(\&quot;\\\\?\&quot;)[0]}&quot;,&quot;${cardgrouparray.getJSONObject(index).getJSONObject(\&quot;mblog\&quot;)}&quot;,&quot;${mblog.text}&quot;,&quot;${mblog.created_at}&quot;,&quot;${&#39;微博&#39;}&quot;,&quot;${mblog.user.screen_name}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="43" value="带有详情页url的" style="strokeWidth=2;strokeColor=#00ff00;sharp=1;" parent="1" source="40" target="42" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;带有详情页url的&quot;,&quot;exception-flow&quot;:&quot;2&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;#00ff00&quot;,&quot;condition&quot;:&quot;${cardgrouparray.getJSONObject(index).containsKey(\&quot;mblog\&quot;) == true &amp;&amp; cardgrouparray.getJSONObject(index).containsKey(\&quot;scheme\&quot;) == true}&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="74" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="930" y="170" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;source_url&quot;,&quot;source_url&quot;,&quot;mblog&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${jsonobject.getString(\&quot;scheme\&quot;)}&quot;,&quot;${source_url.split(\&quot;\\\\?\&quot;)[0]}&quot;,&quot;${jsonobject.getJSONObject(\&quot;mblog\&quot;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="75" value="" style="strokeWidth=2;strokeColor=#00ff00;sharp=1;" parent="1" source="36" target="74" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;2&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;#00ff00&quot;,&quot;condition&quot;:&quot;${jsonobject.containsKey(\&quot;card_group\&quot;) == false}&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="87" value="" style="strokeWidth=2;sharp=1;" parent="1" source="30" target="21" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="94" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1402" y="186" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;abstract&quot;,&quot;publish_time&quot;,&quot;source&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${publish_time}&quot;,&quot;${source}&quot;,&quot;${title}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="95" value="" style="strokeWidth=2;sharp=1;" parent="1" source="42" target="94" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="97" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="30" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="101" value="" style="strokeWidth=2;sharp=1;" edge="1" parent="1" source="21" target="23">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/20.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="80" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="3" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="210" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;,&quot;total_page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;,&quot;${page== 1 ? 0 :((page-1)*10)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="4" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="3" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="5" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="350" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;cookie-name&quot;:[&quot;cookie&quot;],&quot;cookie-description&quot;:[&quot;&quot;],&quot;header-name&quot;:[&quot;referer&quot;,&quot;user-agent&quot;],&quot;header-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://www.douyin.com/aweme/v1/web/general/search/single/?device_platform=webapp&amp;aid=6383&amp;channel=channel_pc_web&amp;search_channel=aweme_general&amp;sort_type=0&amp;publish_time=0&amp;keyword=\&quot;+keyword+\&quot;&amp;search_source=normal_search&amp;query_correct_type=1&amp;is_filter_search=0&amp;from_group_id=6987870724073557255&amp;offset=\&quot;+total_page+\&quot;&amp;count=10\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;cookie-value&quot;:[&quot;ttwid=1%7CP0JhRRY4Bs8OVUvN5L2Miz7mJjuyOsBXql6ASbJCbh4%7C1666344544%7Cb84871b088be071be4b63a80dcdb75a7397a8cb0128399106dd2c84a2de9560b; douyin.com; strategyABtestKey=1666344479.962; s_v_web_id=verify_l9iah9u8_X69Syl98_IJxX_4CI1_AVrP_CgPLlmPB5lK0; passport_csrf_token=34c8e93a61ceeb9398a14e8b3e86ec3e; passport_csrf_token_default=34c8e93a61ceeb9398a14e8b3e86ec3e; ttcid=f1880482f8d14a2dbd289c981a45db6a40; AB_LOGIN_GUIDE_TIMESTAMP=%221666344479785%22; _tea_utm_cache_2018=undefined; SEARCH_RESULT_LIST_TYPE=%22single%22; __ac_signature=_02B4Z6wo00f01OB8TFAAAIDBazfXsxb7GdjgXEjAAFtT0QprmLESRwztu7QYMLFpMSbB4Gybg4kQDPDgTnlNKwF9vN0Ogg.ZlIH9XC.D4xHb65cqQlAvz6Hvt1vFWUmPIiX3Nc9QBBtf.6Tt6d; tt_scid=i3Pr6JT5tgEUsW7RRrlo3QPivVfT.XPI13V5JTns4LeMinDdpC2kPzCw22SZLiAs9930; msToken=yh8_iPx7x2jKq-VUhgHlsQKJlCn8OVxzsHNHM16tb5SCo0pRv80zK3BeBtVDS87eObvOwhS1gbTkLZehfoQ18uot1MBXNo9PQJoW6hvPrjPTGHN2_gfXabK4TRkUTg==; msToken=kieZ9kVyg6pPT3wUDqNwuIjnV1JlEqHmbQhKiWHOLIrdKx3gj-efmNJh6I14APcGbeQ-_CZp3hla-MKevOv0b37exw2k6g11FsDmJIsF4hftlQ-WXnCjN9u3jg0JCw==; __ac_nonce=0635408b200f4d9736d24; home_can_add_dy_2_desktop=%220%22&quot;],&quot;header-value&quot;:[&quot;https://www.douyin.com/search/%E8%8B%8F%E5%B7%9E?source=normal_search&amp;aid=66cd7d9d-5ae0-46ec-9642-d4224c81d693&amp;enter_from=recommend&amp;focus_method=&amp;gid=6987870724073557255&quot;,&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="6" value="" style="strokeWidth=2;sharp=1;" parent="1" source="3" target="5" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="10" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="460" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.data}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="11" value="" style="strokeWidth=2;sharp=1;" parent="1" source="5" target="10" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="12" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="600" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="13" value="" style="strokeWidth=2;sharp=1;" parent="1" source="10" target="12" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="16" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="870" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;videojson&quot;,&quot;publish_time&quot;,&quot;author&quot;,&quot;url&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${title}&quot;,&quot;${videojson}&quot;,&quot;${publish_time}&quot;,&quot;${author}&quot;,&quot;${&#39;https://www.douyin.com/video/&#39; + source_url}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="18" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="720" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;video_url&quot;,&quot;videoorientationurl1&quot;,&quot;videoorientationurl&quot;,&quot;publish_time&quot;,&quot;author&quot;,&quot;videojson&quot;,&quot;imglist&quot;,&quot;imgjson&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;source_url&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(i).aweme_info.desc}&quot;,&quot;${datalist.get(i).aweme_info.video.play_addr.url_list.get(0)}&quot;,&quot;${datalist.get(i).aweme_info.video.cover.url_list}&quot;,&quot;${videoorientationurl1.get(0)}&quot;,&quot;${dateUtils.stampToDate(datalist.get(i).aweme_info.create_time +&#39;000&#39;)}&quot;,&quot;${datalist.get(i).aweme_info.author.nickname}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${jsonUtils.createJsonArray()}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${imgjson.put(\&quot;imgurl\&quot;,&#39;&#39;)}&quot;,&quot;${imglist.add(imgjson)}&quot;,&quot;${videojson.put(\&quot;imglist\&quot;,imglist)}&quot;,&quot;${videojson.put(\&quot;vediourl\&quot;,video_url)}&quot;,&quot;${videojson.put(\&quot;videoorientationurl\&quot;,videoorientationurl)}&quot;,&quot;${datalist.get(i).aweme_info.aweme_id}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="19" value="" style="strokeWidth=2;sharp=1;" parent="1" source="12" target="18" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="20" value="" style="strokeWidth=2;strokeColor=blue;sharp=1;" parent="1" source="18" target="16" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;blue&quot;,&quot;condition&quot;:&quot;${source_url != null}&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/3.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="20" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="15" value="抓取列表" style="request" parent="1" vertex="1">
<mxGeometry x="559" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;抓取列表&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;200&quot;,&quot;timeout&quot;:&quot;3000&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;3&quot;,&quot;retryInterval&quot;:&quot;200&quot;,&quot;cookie-name&quot;:[&quot;Cookie&quot;],&quot;cookie-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;http://www.baidu.com/s?ie=utf-8&amp;medium=1&amp;rtt=1&amp;bsst=1&amp;rsv_dl=news_t_sk&amp;cl=2&amp;wd=\&quot;+keyword+\&quot;&amp;tn=news&amp;rsv_bp=1&amp;tfflag=0&amp;tngroupname=organic_news&amp;newVideo=12&amp;goods_entry_switch=1&amp;pn=\&quot;+startIndex+\&quot;0\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;cookie-value&quot;:[&quot;BIDUPSID=FFCCEFFD6AD71B7D82B27246697129D3; PSTM=1661740480; BAIDUID=6504A43EB0274812F809031B8671878C:FG=1; BD_UPN=12314753; BDUSS=NneHRaYzJNVnVCQ1lOa2RLNkozYlBNQkJMeHVqMzFOZm96SH5mQWlKajZia2RqSVFBQUFBJCQAAAAAAAAAAAEAAAB~B2D2tcjIscqntcSwrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPrhH2P64R9jb0; BDUSS_BFESS=NneHRaYzJNVnVCQ1lOa2RLNkozYlBNQkJMeHVqMzFOZm96SH5mQWlKajZia2RqSVFBQUFBJCQAAAAAAAAAAAEAAAB~B2D2tcjIscqntcSwrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPrhH2P64R9jb0; H_WISE_SIDS=110085_209568_211986_212870_215730_216941_219942_219946_221410_221796_222298_222396_223064_223683_224055_224065_224086_225202_225640_225854_226026_226087_226589_226674_226722_227117_227592_227614_227864_227932_228374_228535_228650_228668_228978_229060_229155_229286_229363_229526_229691_229867_230020; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BAIDUID_BFESS=6504A43EB0274812F809031B8671878C:FG=1; B64_BOT=1; BDRCVFR[C5g0hgaJYCf]=bvBYpeu9K4bTAR3Qh4-I0; delPer=0; PSINO=3; BA_HECTOR=al8h2h852ka584a4agak0ggo1hj2sn519; ZFY=ieqEe:Ai8741EeaFdWPdP8JYsVLPfdZb2pa5AnSzsKW8:C; channel=bd.pe8.net; COOKIE_SESSION=2832_0_3_3_8_8_0_0_3_3_0_1_2833_0_54_0_1664186476_0_1664186530%7C9%23114260_19_1663339171%7C6; baikeVisitId=9b4f3a04-d583-4052-9723-8095c345a108; BD_CK_SAM=1; sugstore=1; H_PS_645EC=f709ExtDBjjkFE38TE3k8%2B41MnOFC0dMOW6Pc5%2BTWxSUTxI8HeJCOlKpHClk30Xoq46OZjUQVWvG; BDRCVFR[C0p6oIjvx-c]=sycO_VPkq2bfjf4njRdn1DLg1nkgv99; H_PS_PSSID=37378_36548_36460_37354_37495_36885_37486_37396_36786_37447_37371; BDSVRTM=39&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="33" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="689" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;titles&quot;,&quot;urls&quot;,&quot;times&quot;,&quot;sources&quot;,&quot;totals&quot;,&quot;total&quot;,&quot;pages&quot;,&quot;pages&quot;,&quot;abstracts&quot;,&quot;imgurls&quot;],&quot;variable-description&quot;:[&quot;标题&quot;,&quot;摘要&quot;,&quot;原始链接&quot;,&quot;来源网站&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;.news-title_1YtI1\&quot;).texts()}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;.news-title_1YtI1&gt;a\&quot;).attrs(\&quot;href\&quot;)}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;div&gt;div&gt;span.c-gap-right-xsmall\&quot;).texts()}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;div&gt;div&gt;div&gt;a&gt;span\&quot;).texts()}&quot;,&quot;${resp.selector(\&quot;#header_top_bar &gt; span\&quot;).text()}&quot;,&quot;${strUtils.substring(totals,totals.indexOf(\&quot;相关资讯\&quot;)+4,totals.lastIndexOf(\&quot;个\&quot;))}&quot;,&quot;${(strUtils.toInt(total)%10)==0?strUtils.toInt(total)/10:(strUtils.toInt(total)/10)+1}&quot;,&quot;${strUtils.toInt(pages+&#39;&#39;)&gt;2?2:pages}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;div&gt;div&gt;span.c-color-text\&quot;).texts()}&quot;,&quot;${resp.selectors(\&quot;#content_left&gt;div\&quot;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="54" value="" style="strokeWidth=2;sharp=1;" parent="1" source="15" target="33" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="55" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="826" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;j&quot;,&quot;loopCount&quot;:&quot;${titles.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="64" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="916" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;time&quot;,&quot;time&quot;,&quot;time&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;imgurl&quot;,&quot;videojson&quot;,&quot;imglist&quot;,&quot;imgjson&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${titles[j]}&quot;,&quot;${urls[j]}&quot;,&quot;${sources[j]}&quot;,&quot;${times[j]}&quot;,&quot;${strUtils.contains(time,\&quot;昨天\&quot;)?(strUtils.substring(dateUtils.minusDay(1),0,10)+\&quot; \&quot;+strUtils.substring(time,2,time.length())+\&quot;:00\&quot;):time}&quot;,&quot;${strUtils.contains(time,\&quot;前天\&quot;)?(strUtils.substring(dateUtils.minusDay(2),0,10)+\&quot; \&quot;+strUtils.substring(time,2,time.length())+\&quot;:00\&quot;):time}&quot;,&quot;${dateUtils.FormatDate(time)}&quot;,&quot;${abstracts[j]}&quot;,&quot;${imgurls.get(j+1).selector(&#39;div&gt;div .c-span3 img&#39;).attr(&#39;src&#39;)}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${jsonUtils.createJsonArray()}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${imgjson.put(\&quot;imgurl\&quot;,imgurl)}&quot;,&quot;${imglist.add(imgjson)}&quot;,&quot;${videojson.put(\&quot;imglist\&quot;,imglist)}&quot;,&quot;${videojson.put(\&quot;vediourl\&quot;,&#39;&#39;)}&quot;,&quot;${videojson.put(\&quot;videoorientationurl\&quot;,&#39;&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="65" value="" style="strokeWidth=2;sharp=1;" parent="1" source="55" target="64" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="106" value="" style="strokeWidth=2;sharp=1;" parent="1" source="33" target="55" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="112" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="190" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;,&quot;startIndex&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;,&quot;${page==&#39;0&#39;?&#39;&#39;:(page-1)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="113" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="112" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="114" value="" style="strokeWidth=2;sharp=1;" parent="1" source="112" target="15" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="115" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1080" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;,&quot;videojson&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${&#39;-&#39;}&quot;,&quot;${videojson}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="116" value="" style="strokeWidth=2;sharp=1;" parent="1" source="64" target="115" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 118
- 0
src/main/resources/static/xml/4.txt View File

@@ -0,0 +1,118 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="10" y="100" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="15" value="抓取列表" style="request" parent="1" vertex="1">
<mxGeometry x="559" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;抓取列表&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;200&quot;,&quot;timeout&quot;:&quot;3000&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;3&quot;,&quot;retryInterval&quot;:&quot;200&quot;,&quot;cookie-name&quot;:[&quot;Cookie&quot;],&quot;cookie-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${&#39;https://so.toutiao.com/search?keyword=&#39;+keyword+&#39;&amp;pd=information&amp;source=search_subtab_switch&amp;dvpf=pc&amp;aid=4916&amp;page_num=&#39;+(page-1)}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;cookie-value&quot;:[&quot;MONITOR_WEB_ID=7136060905808446989; _S_DPR=2; _S_IPAD=0; _S_WIN_WH=1372_739; ttwid=1%7CDU8QP2eAdg2wjFnB_ggNlqGibkM_DPTXGw1bvFbqUt8%7C1661493660%7C3e9e6f880b1d240b10612e18d44b39f2787f082f5438e6719efbb984559f96f4&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="17" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="450" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;page&quot;,&quot;keyword&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${pageNoData}&quot;,&quot;北京&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="33" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="689" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;orignalhtml&quot;,&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html}&quot;,&quot;${orignalhtml.selectors(&#39;script[data-for=s-result-json]&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="54" value="" style="strokeWidth=2;sharp=1;" parent="1" source="15" target="33" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="55" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="826" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;j&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="64" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="916" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;html&quot;,&quot;sub_html&quot;,&quot;data_json_object&quot;,&quot;title&quot;,&quot;source_url&quot;,&quot;datetime&quot;,&quot;media_name&quot;,&quot;abstract&quot;,&quot;imgurl&quot;,&quot;videojson&quot;,&quot;imglist&quot;,&quot;imgjson&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist[j]+&#39;&#39;}&quot;,&quot;${strUtils.substring(html,strUtils.indexOf(html,&#39;\&quot;hydrate\&quot;&gt;&#39;)+10,strUtils.length(html)-9)}&quot;,&quot;${jsonUtils.parseObject(sub_html)}&quot;,&quot;${data_json_object.data.title}&quot;,&quot;${data_json_object.data.source_url}&quot;,&quot;${data_json_object.data.datetime}&quot;,&quot;${data_json_object.data.media_name}&quot;,&quot;${data_json_object.data.abstract}&quot;,&quot;${data_json_object.data.image_url}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${jsonUtils.createJsonArray()}&quot;,&quot;${jsonUtils.createJsonObject()}&quot;,&quot;${imgjson.put(\&quot;imgurl\&quot;,imgurl)}&quot;,&quot;${imglist.add(imgjson)}&quot;,&quot;${videojson.put(\&quot;imglist\&quot;,imglist)}&quot;,&quot;${videojson.put(\&quot;vediourl\&quot;,&#39;&#39;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="65" value="" style="strokeWidth=2;sharp=1;" parent="1" source="55" target="64" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="78" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="916" y="196" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;source_url&quot;,&quot;datetime&quot;,&quot;datalist&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${title}&quot;,&quot;${source_url}&quot;,&quot;${datetime}&quot;,&quot;${data_json_object}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="93" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="916" y="372" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;classify&quot;,&quot;website_id&quot;,&quot;websitelogo&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.new_website_type}&quot;,&quot;${json.id}&quot;,&quot;${json.website_ico}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="95" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="810" y="282" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${resp.html}&quot;,&quot;${url}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="104" value="修改关键词状态" style="request" parent="1" vertex="1">
<mxGeometry x="1281" y="250" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;修改关键词状态&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;http://192.168.71.61:6135/spider_factory/baidu/keywordStatus?keyword=\&quot;+keyword}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="106" value="" style="strokeWidth=2;sharp=1;" parent="1" source="33" target="55" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="110" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="314" y="380" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;http://192.168.71.61:6135/spider_factory/baidu/keywordStatus?keyword=\&quot;+rs[i].keyword}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="120" value="" style="strokeWidth=2;sharp=1;" parent="1" source="17" target="15" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="129" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="17" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="130" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1020" y="84" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;publish_time&quot;,&quot;source&quot;,&quot;abstract&quot;,&quot;author&quot;,&quot;videojson&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${datetime}&quot;,&quot;${&#39;今日头条&#39;}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${media_name}&quot;,&quot;${videojson}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="131" value="" style="strokeWidth=2;strokeColor=blue;sharp=1;" parent="1" source="64" target="130" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;blue&quot;,&quot;condition&quot;:&quot;${abstract!=null||title!=null}&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/5.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="20" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="15" value="抓取列表" style="request" parent="1" vertex="1">
<mxGeometry x="559" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;抓取列表&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;200&quot;,&quot;timeout&quot;:&quot;3000&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;3&quot;,&quot;retryInterval&quot;:&quot;200&quot;,&quot;cookie-name&quot;:[&quot;Cookie&quot;],&quot;cookie-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;http://www.baidu.com/s?ie=utf-8&amp;medium=2&amp;rtt=1&amp;bsst=1&amp;rsv_dl=news_t_sk&amp;cl=2&amp;wd=\&quot;+keyword+\&quot;&amp;tn=news&amp;rsv_bp=1&amp;tfflag=0&amp;tngroupname=organic_news&amp;newVideo=12&amp;goods_entry_switch=1&amp;pn=\&quot;+startIndex+\&quot;0\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;cookie-value&quot;:[&quot;BIDUPSID=FFCCEFFD6AD71B7D82B27246697129D3; PSTM=1661740480; BAIDUID=6504A43EB0274812F809031B8671878C:FG=1; BD_UPN=12314753; BDUSS=NneHRaYzJNVnVCQ1lOa2RLNkozYlBNQkJMeHVqMzFOZm96SH5mQWlKajZia2RqSVFBQUFBJCQAAAAAAAAAAAEAAAB~B2D2tcjIscqntcSwrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPrhH2P64R9jb0; BDUSS_BFESS=NneHRaYzJNVnVCQ1lOa2RLNkozYlBNQkJMeHVqMzFOZm96SH5mQWlKajZia2RqSVFBQUFBJCQAAAAAAAAAAAEAAAB~B2D2tcjIscqntcSwrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPrhH2P64R9jb0; H_WISE_SIDS=110085_209568_211986_212870_215730_216941_219942_219946_221410_221796_222298_222396_223064_223683_224055_224065_224086_225202_225640_225854_226026_226087_226589_226674_226722_227117_227592_227614_227864_227932_228374_228535_228650_228668_228978_229060_229155_229286_229363_229526_229691_229867_230020; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BAIDUID_BFESS=6504A43EB0274812F809031B8671878C:FG=1; B64_BOT=1; BDRCVFR[C5g0hgaJYCf]=bvBYpeu9K4bTAR3Qh4-I0; delPer=0; PSINO=3; BA_HECTOR=al8h2h852ka584a4agak0ggo1hj2sn519; ZFY=ieqEe:Ai8741EeaFdWPdP8JYsVLPfdZb2pa5AnSzsKW8:C; channel=bd.pe8.net; COOKIE_SESSION=2832_0_3_3_8_8_0_0_3_3_0_1_2833_0_54_0_1664186476_0_1664186530%7C9%23114260_19_1663339171%7C6; baikeVisitId=9b4f3a04-d583-4052-9723-8095c345a108; BD_CK_SAM=1; sugstore=1; H_PS_645EC=f709ExtDBjjkFE38TE3k8%2B41MnOFC0dMOW6Pc5%2BTWxSUTxI8HeJCOlKpHClk30Xoq46OZjUQVWvG; BDRCVFR[C0p6oIjvx-c]=sycO_VPkq2bfjf4njRdn1DLg1nkgv99; H_PS_PSSID=37378_36548_36460_37354_37495_36885_37486_37396_36786_37447_37371; BDSVRTM=39&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="33" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="689" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;titles&quot;,&quot;urls&quot;,&quot;times&quot;,&quot;sources&quot;,&quot;totals&quot;,&quot;total&quot;,&quot;pages&quot;,&quot;pages&quot;,&quot;abstracts&quot;],&quot;variable-description&quot;:[&quot;标题&quot;,&quot;摘要&quot;,&quot;原始链接&quot;,&quot;来源网站&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;.news-title_1YtI1\&quot;).texts()}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;.news-title_1YtI1&gt;a\&quot;).attrs(\&quot;href\&quot;)}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;div&gt;div&gt;span.c-gap-right-xsmall\&quot;).texts()}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;div&gt;div&gt;div&gt;a&gt;span\&quot;).texts()}&quot;,&quot;${resp.selector(\&quot;#header_top_bar &gt; span\&quot;).text()}&quot;,&quot;${strUtils.substring(totals,totals.indexOf(\&quot;相关资讯\&quot;)+4,totals.lastIndexOf(\&quot;个\&quot;))}&quot;,&quot;${(strUtils.toInt(total)%10)==0?strUtils.toInt(total)/10:(strUtils.toInt(total)/10)+1}&quot;,&quot;${strUtils.toInt(pages+&#39;&#39;)&gt;2?2:pages}&quot;,&quot;${resp.selectors(\&quot;div&gt;#content_left&gt;div&gt;div&gt;div&gt;div&gt;span.c-color-text\&quot;).texts()}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="54" value="" style="strokeWidth=2;sharp=1;" parent="1" source="15" target="33" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="55" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="826" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;j&quot;,&quot;loopCount&quot;:&quot;${titles.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="64" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="916" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;time&quot;,&quot;time&quot;,&quot;time&quot;,&quot;publish_time&quot;,&quot;abstract&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${titles[j]}&quot;,&quot;${urls[j]}&quot;,&quot;${sources[j]}&quot;,&quot;${times[j]}&quot;,&quot;${strUtils.contains(time,\&quot;昨天\&quot;)?(strUtils.substring(dateUtils.minusDay(1),0,10)+\&quot; \&quot;+strUtils.substring(time,2,time.length())+\&quot;:00\&quot;):time}&quot;,&quot;${strUtils.contains(time,\&quot;前天\&quot;)?(strUtils.substring(dateUtils.minusDay(2),0,10)+\&quot; \&quot;+strUtils.substring(time,2,time.length())+\&quot;:00\&quot;):time}&quot;,&quot;${dateUtils.FormatDate(time)}&quot;,&quot;${abstracts[j]}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="65" value="" style="strokeWidth=2;sharp=1;" parent="1" source="55" target="64" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="106" value="" style="strokeWidth=2;sharp=1;" parent="1" source="33" target="55" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="112" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="190" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;,&quot;startIndex&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;,&quot;${page==&#39;0&#39;?&#39;&#39;:(page-1)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="113" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="112" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="114" value="" style="strokeWidth=2;sharp=1;" parent="1" source="112" target="15" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="115" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1080" y="90" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="116" value="" style="strokeWidth=2;sharp=1;" parent="1" source="64" target="115" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 94
- 0
src/main/resources/static/xml/6.txt View File

@@ -0,0 +1,94 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="270" y="116.5" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="17" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="390" y="116.5" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;total_page&quot;,&quot;keyword&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${pageNoData}&quot;,&quot;北京&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="22" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="836" y="117" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;list_data&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json().data.data}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="26" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="936" y="117" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${list_data.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="33" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="1056" y="117" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;title&quot;,&quot;summary&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;extend&quot;,&quot;source_flag&quot;,&quot;site_name&quot;,&quot;snippet&quot;],&quot;variable-description&quot;:[&quot;标题&quot;,&quot;&quot;,&quot;摘要&quot;,&quot;原始链接&quot;,&quot;来源网站&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${strUtils.replaceAll(list_data[i].title,&#39;&lt;em&gt;&#39;,&#39;&#39;)}&quot;,&quot;${strUtils.replaceAll(title,&#39;&lt;/em&gt;&#39;,&#39;&#39;)}&quot;,&quot;${list_data[i].snippet}&quot;,&quot;${list_data[i].url}&quot;,&quot;${list_data[i].source}&quot;,&quot;${dateUtils.stampToDate(list_data[i].timestamp+&#39;000&#39;)}&quot;,&quot;${list_data[i].extend}&quot;,&quot;${strUtils.indexOf(extend,&#39;site_name&#39;)}&quot;,&quot;${source_flag!=-1?(list_data[i].extend.json().site_name):source}&quot;,&quot;${list_data.get(i).snippet}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="34" value="" style="strokeWidth=2;sharp=1;" parent="1" source="26" target="33" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="65" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="600" y="117" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;cookie-name&quot;:[&quot;Cookie&quot;],&quot;cookie-description&quot;:[&quot;&quot;],&quot;header-name&quot;:[&quot;Host&quot;],&quot;header-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${&#39;http://www.chinaso.com/v5/general/v1/web/search?q=&#39;+keyword+&#39;&amp;pn=&#39;+total_page+&#39;&amp;ps=15&amp;force=0&amp;stime=24h&amp;etime=now&#39;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;cookie-value&quot;:[&quot;uid=CgqASWJmH0KGd3qqDSdIAg==; cookie_name=122.96.102.43.1650859843374970; wdcid=7e72f38d9bc6dc56; wdlast=1652238633; Hm_lvt_91fa1aefc990a9fc21c08506e5983ddf=1652238633; __WWW_CARD__DISSTATUS__=false; __WWW_nav__DISSTATUS__=false; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221805eea194944-0d246d8dddcd0b-535b0612-1296000-1805eea194a99e%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%221805eea194944-0d246d8dddcd0b-535b0612-1296000-1805eea194a99e%22%7D&quot;],&quot;header-value&quot;:[&quot;www.chinaso.com&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="70" value="" style="strokeWidth=2;sharp=1;" parent="1" source="22" target="26" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="113" value="" style="strokeWidth=2;sharp=1;" parent="1" source="17" target="65" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="114" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1056" y="201" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;url&quot;,&quot;title&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${url}&quot;,&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(snippet,keyword)?(strUtils.replaceAll(snippet,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(snippet)}&quot;,&quot;${&#39;-&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="115" value="" style="strokeWidth=2;sharp=1;" parent="1" source="33" target="114" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="117" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1208" y="10" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;content&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${content}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="118" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="17" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="122" value="" style="strokeWidth=2;sharp=1;" parent="1" source="65" target="22" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/7.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="148" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="358" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="107" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="1048" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;authorName&quot;,&quot;publish_time&quot;,&quot;source_url&quot;,&quot;title&quot;,&quot;source&quot;,&quot;summary&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist1.get(k).fields.AuthorName}&quot;,&quot;${dateUtils.stampToDate(datalist1.get(k).fields.PublishTime +&#39;000&#39;)}&quot;,&quot;${datalist1.get(k).fields.url}&quot;,&quot;${datalist1.get(k).fields.title.replaceAll(\&quot;&lt;/?[^&gt;]+&gt;\&quot;, \&quot;\&quot;)}&quot;,&quot;${datalist1.get(k).fields.webname}&quot;,&quot;${datalist1.get(k).fields.summary}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="128" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1048" y="240" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(summary,keyword)?(strUtils.replaceAll(summary,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(summary)}&quot;,&quot;${authorName}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="129" value="" style="strokeWidth=2;sharp=1;" parent="1" source="107" target="128" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="141" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="508" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;POST&quot;,&quot;sleep&quot;:&quot;300&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://vtm.sm.cn/blm/vsearch-api-390/news?uc_param_str=dnntnwvepffrbijbprsvchgputdemennosstodcaaagidsdieinipi&amp;start=\&quot;+(page*10)+\&quot;&amp;method=hot_news&amp;hit=10&amp;query=\&quot;+keyword+\&quot;&amp;hid=c1ba2f9f9e104793ad584ef09017d5d2&amp;uuid=2c0fb4e4c3aeb7b59dc3b2795657e38b%7C%7C%7C1661225116\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="150" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="678" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;datalist1&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.data.list}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="151" value="" style="strokeWidth=2;sharp=1;" parent="1" source="141" target="150" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="152" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="848" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;k&quot;,&quot;loopCount&quot;:&quot;${datalist1.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="153" value="" style="strokeWidth=2;sharp=1;" parent="1" source="150" target="152" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="154" value="" style="strokeWidth=2;sharp=1;" parent="1" source="152" target="107" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="157" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="158" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="141" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/8.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="148" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="358" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="107" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="1048" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;authorName&quot;,&quot;publish_time&quot;,&quot;source_url&quot;,&quot;title&quot;,&quot;source&quot;,&quot;summary&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist1.get(k).fields.AuthorName}&quot;,&quot;${dateUtils.stampToDate(datalist1.get(k).fields.PublishTime +&#39;000&#39;)}&quot;,&quot;${datalist1.get(k).fields.url}&quot;,&quot;${datalist1.get(k).fields.title.replaceAll(\&quot;&lt;/?[^&gt;]+&gt;\&quot;, \&quot;\&quot;)}&quot;,&quot;${datalist1.get(k).fields.webname}&quot;,&quot;${datalist1.get(k).fields.summary}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="128" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="1048" y="240" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${source_url}&quot;,&quot;${source}&quot;,&quot;${publish_time}&quot;,&quot;${strUtils.contains(summary,keyword)?(strUtils.replaceAll(summary,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(summary)}&quot;,&quot;${authorName}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="129" value="" style="strokeWidth=2;sharp=1;" parent="1" source="107" target="128" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="141" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="508" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;POST&quot;,&quot;sleep&quot;:&quot;300&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://vtm.sm.cn/blm/vsearch-api-390/news?uc_param_str=dnntnwvepffrbijbprsvchgputdemennosstodcaaagidsdieinipi&amp;start=\&quot;+(page*10)+\&quot;&amp;method=hot_news&amp;hit=10&amp;query=\&quot;+keyword+\&quot;&amp;hid=c1ba2f9f9e104793ad584ef09017d5d2&amp;uuid=2c0fb4e4c3aeb7b59dc3b2795657e38b%7C%7C%7C1661225116\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="150" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="678" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;json&quot;,&quot;datalist1&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.html.json()}&quot;,&quot;${json.data.list}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="151" value="" style="strokeWidth=2;sharp=1;" parent="1" source="141" target="150" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="152" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="848" y="110" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;k&quot;,&quot;loopCount&quot;:&quot;${datalist1.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="153" value="" style="strokeWidth=2;sharp=1;" parent="1" source="150" target="152" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="154" value="" style="strokeWidth=2;sharp=1;" parent="1" source="152" target="107" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="157" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="158" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="141" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

+ 88
- 0
src/main/resources/static/xml/9.txt View File

@@ -0,0 +1,88 @@
<mxGraphModel>
<root>
<mxCell id="0">
<JsonProperty as="data">
{&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="开始" style="start" parent="1" vertex="1">
<mxGeometry x="280" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;shape&quot;:&quot;start&quot;}
</JsonProperty>
</mxCell>
<mxCell id="7" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="440" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;keyword&quot;,&quot;page&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;北京&quot;,&quot;${pageNoData}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="9" value="开始抓取" style="request" parent="1" vertex="1">
<mxGeometry x="570" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;开始抓取&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;sleep&quot;:&quot;500&quot;,&quot;timeout&quot;:&quot;&quot;,&quot;response-charset&quot;:&quot;&quot;,&quot;retryCount&quot;:&quot;&quot;,&quot;retryInterval&quot;:&quot;&quot;,&quot;header-name&quot;:[&quot;referer&quot;],&quot;header-description&quot;:[&quot;&quot;],&quot;body-type&quot;:&quot;none&quot;,&quot;body-content-type&quot;:&quot;text/plain&quot;,&quot;loopCount&quot;:&quot;&quot;,&quot;url&quot;:&quot;${\&quot;https://cn.bing.com/search?q=\&quot;+keyword+\&quot;&amp;filters=ex1%3a%22ez1%22&amp;qs=SC&amp;pq=nan&amp;sc=10-3&amp;cvid=005140B2204F4959940C48CB10B385E0&amp;sp=1&amp;first=\&quot;+(page * 10+1)+\&quot;&amp;FORM=PERE\&quot;}&quot;,&quot;proxy&quot;:&quot;&quot;,&quot;header-value&quot;:[&quot;https://cn.bing.com/search?q=%e5%8d%97%e4%ba%ac&amp;filters=ex1%3a%22ez1%22&amp;qs=SC&amp;pq=nan&amp;sc=10-3&amp;cvid=005140B2204F4959940C48CB10B385E0&amp;sp=1&amp;first=21&amp;FORM=PERE1&quot;],&quot;request-body&quot;:&quot;&quot;,&quot;follow-redirect&quot;:&quot;1&quot;,&quot;tls-validate&quot;:&quot;1&quot;,&quot;cookie-auto-set&quot;:&quot;1&quot;,&quot;repeat-enable&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;request&quot;}
</JsonProperty>
</mxCell>
<mxCell id="10" value="" style="strokeWidth=2;sharp=1;" parent="1" source="7" target="9" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="150" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="710" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;datalist&quot;],&quot;variable-description&quot;:[&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${resp.selectors(\&quot;#b_results &gt; li\&quot;)}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="186" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="188" value="输出" style="output" parent="1" vertex="1">
<mxGeometry x="960" y="190" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;输出&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;tableName&quot;:&quot;&quot;,&quot;csvName&quot;:&quot;&quot;,&quot;csvEncoding&quot;:&quot;GBK&quot;,&quot;output-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;source&quot;,&quot;publish_time&quot;,&quot;abstract&quot;,&quot;author&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;output-value&quot;:[&quot;${strUtils.contains(title,keyword)?(strUtils.replaceAll(title,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(title)}&quot;,&quot;${url}&quot;,&quot;${&#39;&#39;}&quot;,&quot;${&#39;&#39;}&quot;,&quot;${strUtils.contains(abstract,keyword)?(strUtils.replaceAll(abstract,keyword,&#39;&lt;b class=\&quot;key\&quot; style=\&quot;color:red\&quot;&gt;&#39;+keyword+&#39;&lt;/b&gt;&#39;)):(abstract)}&quot;,&quot;${&#39;&#39;}&quot;],&quot;output-all&quot;:&quot;0&quot;,&quot;output-database&quot;:&quot;0&quot;,&quot;output-csv&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;output&quot;}
</JsonProperty>
</mxCell>
<mxCell id="192" value="" style="strokeWidth=2;sharp=1;" parent="1" source="9" target="150" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="193" value="循环" style="loop" parent="1" vertex="1">
<mxGeometry x="820" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;循环&quot;,&quot;loopItem&quot;:&quot;&quot;,&quot;loopVariableName&quot;:&quot;i&quot;,&quot;loopCount&quot;:&quot;${datalist.size()}&quot;,&quot;loopStart&quot;:&quot;0&quot;,&quot;loopEnd&quot;:&quot;-1&quot;,&quot;awaitSleep&quot;:&quot;0&quot;,&quot;shape&quot;:&quot;loop&quot;}
</JsonProperty>
</mxCell>
<mxCell id="194" value="" style="strokeWidth=2;sharp=1;" parent="1" source="150" target="193" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="195" value="定义变量" style="variable" parent="1" vertex="1">
<mxGeometry x="960" y="80" width="32" height="32" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;定义变量&quot;,&quot;loopVariableName&quot;:&quot;&quot;,&quot;ziloopVariableName&quot;:&quot;&quot;,&quot;variable-name&quot;:[&quot;title&quot;,&quot;url&quot;,&quot;abstract&quot;],&quot;variable-description&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;],&quot;loopCount&quot;:&quot;&quot;,&quot;ziloopCount&quot;:&quot;&quot;,&quot;variable-value&quot;:[&quot;${datalist.get(i).selector(&#39;.b_title &gt; h2 &gt; a&#39;).text()}&quot;,&quot;${datalist.get(i).selector(&#39;.b_title &gt; h2 &gt; a&#39;).attr(&#39;href&#39;)}&quot;,&quot;${datalist.get(i).selector(&#39;.b_caption p&#39;).text()}&quot;],&quot;shape&quot;:&quot;variable&quot;}
</JsonProperty>
</mxCell>
<mxCell id="196" value="" style="strokeWidth=2;sharp=1;" parent="1" source="193" target="195" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
<mxCell id="197" value="" style="strokeWidth=2;sharp=1;" parent="1" source="195" target="188" edge="1">
<mxGeometry relative="1" as="geometry"/>
<JsonProperty as="data">
{&quot;value&quot;:&quot;&quot;,&quot;exception-flow&quot;:&quot;0&quot;,&quot;lineWidth&quot;:&quot;2&quot;,&quot;line-style&quot;:&quot;sharp&quot;,&quot;lineColor&quot;:&quot;black&quot;,&quot;condition&quot;:&quot;&quot;,&quot;transmit-variable&quot;:&quot;1&quot;}
</JsonProperty>
</mxCell>
</root>
</mxGraphModel>

Loading…
Cancel
Save