You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <mxGraphModel>
  2. <root>
  3. <mxCell id="0">
  4. <JsonProperty as="data">
  5. {&quot;spiderName&quot;:&quot;未定义名称&quot;,&quot;submit-strategy&quot;:&quot;random&quot;,&quot;threadCount&quot;:&quot;1&quot;}
  6. </JsonProperty>
  7. </mxCell>
  8. <mxCell id="1" parent="0"/>
  9. <mxCell id="2" value="开始" style="start" parent="1" vertex="1">
  10. <mxGeometry x="10" y="100" width="32" height="32" as="geometry"/>
  11. <JsonProperty as="data">
  12. {&quot;shape&quot;:&quot;start&quot;}
  13. </JsonProperty>
  14. </mxCell>
  15. <mxCell id="15" value="抓取列表" style="request" parent="1" vertex="1">
  16. <mxGeometry x="559" y="90" width="32" height="32" as="geometry"/>
  17. <JsonProperty as="data">
  18. {&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;}
  19. </JsonProperty>
  20. </mxCell>
  21. <mxCell id="17" value="定义变量" style="variable" parent="1" vertex="1">
  22. <mxGeometry x="450" y="90" width="32" height="32" as="geometry"/>
  23. <JsonProperty as="data">
  24. {&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;}
  25. </JsonProperty>
  26. </mxCell>
  27. <mxCell id="33" value="定义变量" style="variable" parent="1" vertex="1">
  28. <mxGeometry x="689" y="90" width="32" height="32" as="geometry"/>
  29. <JsonProperty as="data">
  30. {&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;}
  31. </JsonProperty>
  32. </mxCell>
  33. <mxCell id="54" value="" style="strokeWidth=2;sharp=1;" parent="1" source="15" target="33" edge="1">
  34. <mxGeometry relative="1" as="geometry"/>
  35. <JsonProperty as="data">
  36. {&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;}
  37. </JsonProperty>
  38. </mxCell>
  39. <mxCell id="55" value="循环" style="loop" parent="1" vertex="1">
  40. <mxGeometry x="826" y="90" width="32" height="32" as="geometry"/>
  41. <JsonProperty as="data">
  42. {&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;}
  43. </JsonProperty>
  44. </mxCell>
  45. <mxCell id="64" value="定义变量" style="variable" parent="1" vertex="1">
  46. <mxGeometry x="916" y="90" width="32" height="32" as="geometry"/>
  47. <JsonProperty as="data">
  48. {&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;}
  49. </JsonProperty>
  50. </mxCell>
  51. <mxCell id="65" value="" style="strokeWidth=2;sharp=1;" parent="1" source="55" target="64" edge="1">
  52. <mxGeometry relative="1" as="geometry"/>
  53. <JsonProperty as="data">
  54. {&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;}
  55. </JsonProperty>
  56. </mxCell>
  57. <mxCell id="78" value="输出" style="output" parent="1" vertex="1">
  58. <mxGeometry x="916" y="196" width="32" height="32" as="geometry"/>
  59. <JsonProperty as="data">
  60. {&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;}
  61. </JsonProperty>
  62. </mxCell>
  63. <mxCell id="93" value="定义变量" style="variable" parent="1" vertex="1">
  64. <mxGeometry x="916" y="372" width="32" height="32" as="geometry"/>
  65. <JsonProperty as="data">
  66. {&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;}
  67. </JsonProperty>
  68. </mxCell>
  69. <mxCell id="95" value="输出" style="output" parent="1" vertex="1">
  70. <mxGeometry x="810" y="282" width="32" height="32" as="geometry"/>
  71. <JsonProperty as="data">
  72. {&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;}
  73. </JsonProperty>
  74. </mxCell>
  75. <mxCell id="104" value="修改关键词状态" style="request" parent="1" vertex="1">
  76. <mxGeometry x="1281" y="250" width="32" height="32" as="geometry"/>
  77. <JsonProperty as="data">
  78. {&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;}
  79. </JsonProperty>
  80. </mxCell>
  81. <mxCell id="106" value="" style="strokeWidth=2;sharp=1;" parent="1" source="33" target="55" edge="1">
  82. <mxGeometry relative="1" as="geometry"/>
  83. <JsonProperty as="data">
  84. {&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;}
  85. </JsonProperty>
  86. </mxCell>
  87. <mxCell id="110" value="开始抓取" style="request" parent="1" vertex="1">
  88. <mxGeometry x="314" y="380" width="32" height="32" as="geometry"/>
  89. <JsonProperty as="data">
  90. {&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;}
  91. </JsonProperty>
  92. </mxCell>
  93. <mxCell id="120" value="" style="strokeWidth=2;sharp=1;" parent="1" source="17" target="15" edge="1">
  94. <mxGeometry relative="1" as="geometry"/>
  95. <JsonProperty as="data">
  96. {&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;}
  97. </JsonProperty>
  98. </mxCell>
  99. <mxCell id="129" value="" style="strokeWidth=2;sharp=1;" parent="1" source="2" target="17" edge="1">
  100. <mxGeometry relative="1" as="geometry"/>
  101. <JsonProperty as="data">
  102. {&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;}
  103. </JsonProperty>
  104. </mxCell>
  105. <mxCell id="130" value="输出" style="output" parent="1" vertex="1">
  106. <mxGeometry x="1020" y="84" width="32" height="32" as="geometry"/>
  107. <JsonProperty as="data">
  108. {&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;}
  109. </JsonProperty>
  110. </mxCell>
  111. <mxCell id="131" value="" style="strokeWidth=2;strokeColor=blue;sharp=1;" parent="1" source="64" target="130" edge="1">
  112. <mxGeometry relative="1" as="geometry"/>
  113. <JsonProperty as="data">
  114. {&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;}
  115. </JsonProperty>
  116. </mxCell>
  117. </root>
  118. </mxGraphModel>

一款开源免费的舆情系统。 支持本地化部署,支持在线体验。 支持对海量舆情数据分析和挖掘。