Your Name 6 年之前
父节点
当前提交
292a845e57
共有 42 个文件被更改,包括 1677 次插入1542 次删除
  1. 253 244
      hg3535/.idea/workspace.xml
  2. 二进制
      hg3535/__pycache__/ball_func.cpython-36.pyc
  3. 二进制
      hg3535/__pycache__/items.cpython-36.pyc
  4. 二进制
      hg3535/__pycache__/pipelines.cpython-36.pyc
  5. 二进制
      hg3535/__pycache__/settings.cpython-36.pyc
  6. 1019 0
      hg3535/ball_func.py
  7. 24 0
      hg3535/items.py
  8. 0 10
      hg3535/kaishi.py
  9. 5 2
      hg3535/main.py
  10. 0 23
      hg3535/main_notroll.py
  11. 14 4
      hg3535/main_time.py
  12. 0 0
      hg3535/pip
  13. 107 690
      hg3535/pipelines.py
  14. 0 0
      hg3535/scrapy-magicfields)
  15. 二进制
      hg3535/spiders/__pycache__/bangqiu.cpython-36.pyc
  16. 二进制
      hg3535/spiders/__pycache__/bq_jieshu.cpython-36.pyc
  17. 二进制
      hg3535/spiders/__pycache__/hg3535_bangqiu.cpython-36.pyc
  18. 二进制
      hg3535/spiders/__pycache__/hg3535_lanqiu.cpython-36.pyc
  19. 二进制
      hg3535/spiders/__pycache__/hg3535_wangqiu.cpython-36.pyc
  20. 二进制
      hg3535/spiders/__pycache__/hg3535_zq_status.cpython-36.pyc
  21. 二进制
      hg3535/spiders/__pycache__/hg3535_zq_status_up.cpython-36.pyc
  22. 二进制
      hg3535/spiders/__pycache__/hg3535_zuqiu.cpython-36.pyc
  23. 二进制
      hg3535/spiders/__pycache__/hgjieshu.cpython-36.pyc
  24. 二进制
      hg3535/spiders/__pycache__/lanqiu.cpython-36.pyc
  25. 二进制
      hg3535/spiders/__pycache__/liansai.cpython-36.pyc
  26. 二进制
      hg3535/spiders/__pycache__/lq_jieshu.cpython-36.pyc
  27. 二进制
      hg3535/spiders/__pycache__/wq_jieshu.cpython-36.pyc
  28. 二进制
      hg3535/spiders/__pycache__/zq_jieshu.cpython-36.pyc
  29. 1 0
      hg3535/spiders/bangqiu.py
  30. 61 0
      hg3535/spiders/bq_jieshu.py
  31. 0 226
      hg3535/spiders/hg3535_zq_status.py
  32. 0 271
      hg3535/spiders/hg3535_zq_status_up.py
  33. 0 57
      hg3535/spiders/hgjieshu.py
  34. 2 2
      hg3535/spiders/lanqiu.py
  35. 62 0
      hg3535/spiders/lq_jieshu.py
  36. 3 11
      hg3535/spiders/roll_bangqiu.py
  37. 1 2
      hg3535/spiders/roll_lanqiu.py
  38. 0 0
      hg3535/spiders/roll_wangqiu.py
  39. 0 0
      hg3535/spiders/roll_zuqiu.py
  40. 1 0
      hg3535/spiders/wangqiu.py
  41. 61 0
      hg3535/spiders/wq_jieshu.py
  42. 63 0
      hg3535/spiders/zq_jieshu.py

+ 253 - 244
hg3535/.idea/workspace.xml

@@ -2,16 +2,26 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="7fa42e97-ddea-4404-91db-5a9ccc162649" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/spiders/zq_jieshu.py" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/items.py" beforeDir="false" afterPath="$PROJECT_DIR$/items.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/kaishi.py" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/main_notroll.py" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/main_time.py" beforeDir="false" afterPath="$PROJECT_DIR$/main_time.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/pip" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/pipelines.py" beforeDir="false" afterPath="$PROJECT_DIR$/pipelines.py" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/settings.py" beforeDir="false" afterPath="$PROJECT_DIR$/settings.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scrapy-magicfields)" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/spiders/bangqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/bangqiu.py" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/spiders/guanjun.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/guanjun.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/hg3535_bangqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/roll_bangqiu.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/hg3535_lanqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/roll_lanqiu.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/hg3535_wangqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/roll_wangqiu.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/hg3535_zq_status.py" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/hg3535_zq_status_up.py" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/hg3535_zuqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/roll_zuqiu.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/hgjieshu.py" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/spiders/lanqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/lanqiu.py" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/spiders/zuqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/zuqiu.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/spiders/wangqiu.py" beforeDir="false" afterPath="$PROJECT_DIR$/spiders/wangqiu.py" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -21,7 +31,7 @@
   </component>
   <component name="CoverageDataManager">
     <SUITE FILE_PATH="coverage/hg3535$items.coverage" NAME="items Coverage Results" MODIFIED="1554291398794" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
-    <SUITE FILE_PATH="coverage/hg3535$main.coverage" NAME="main Coverage Results" MODIFIED="1558607406833" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
+    <SUITE FILE_PATH="coverage/hg3535$main.coverage" NAME="main Coverage Results" MODIFIED="1558689420236" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
     <SUITE FILE_PATH="coverage/hg3535$hgjieshu.coverage" NAME="hgjieshu Coverage Results" MODIFIED="1558494720094" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/spiders" />
     <SUITE FILE_PATH="coverage/hg3535$halffull.coverage" NAME="halffull Coverage Results" MODIFIED="1554544334424" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/spiders" />
     <SUITE FILE_PATH="coverage/hg3535$pipelines.coverage" NAME="pipelines Coverage Results" MODIFIED="1554290866137" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
@@ -50,98 +60,77 @@
   <component name="FileEditorManager">
     <leaf>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/hg3535_zq_status_up.py">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-32">
-              <caret line="227" column="27" selection-start-line="227" selection-start-column="27" selection-end-line="227" selection-end-column="27" />
-              <folding>
-                <element signature="e#25#40#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/hg3535_zuqiu.py">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/hgjieshu.py">
+        <entry file="file://$PROJECT_DIR$/settings.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="400">
-              <caret line="37" column="23" lean-forward="true" selection-start-line="37" selection-start-column="23" selection-end-line="37" selection-end-column="23" />
+            <state relative-caret-position="297">
+              <caret line="145" column="24" lean-forward="true" selection-start-line="145" selection-start-column="24" selection-end-line="145" selection-end-column="24" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/lanqiu.py">
+        <entry file="file://$PROJECT_DIR$/main_time.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="256">
-              <caret line="49" selection-start-line="49" selection-end-line="50" selection-end-column="101" />
+            <state relative-caret-position="133">
+              <caret line="24" column="43" lean-forward="true" selection-start-line="24" selection-start-column="43" selection-end-line="24" selection-end-column="43" />
               <folding>
-                <element signature="e#24#35#0" expanded="true" />
+                <element signature="e#0#11#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/liansai.py">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/spiders/roll_bangqiu.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="234">
-              <caret line="19" selection-start-line="19" selection-end-line="20" selection-end-column="102" />
+            <state relative-caret-position="-25">
+              <caret line="19" column="25" lean-forward="true" selection-start-line="19" selection-start-column="25" selection-end-line="19" selection-end-column="25" />
               <folding>
-                <element signature="e#24#39#0" expanded="true" />
+                <element signature="e#46#61#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/wangqiu.py">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/wqbodan.py">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/spiders/zuqiu.py">
+        <entry file="file://$PROJECT_DIR$/pipelines.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-144">
-              <caret line="13" column="18" lean-forward="true" selection-start-line="13" selection-start-column="18" selection-end-line="13" selection-end-column="18" />
+            <state relative-caret-position="198">
+              <caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
               <folding>
-                <element signature="e#24#35#0" expanded="true" />
+                <element signature="e#0#11#0" expanded="true" />
+                <element signature="e#653#19776#0" />
+                <element signature="e#19929#28277#0" />
+                <element signature="e#28431#36861#0" />
+                <element signature="e#37017#41760#0" />
+                <element signature="e#41914#49824#0" />
+                <element signature="e#49975#56284#0" />
+                <element signature="e#56435#64250#0" />
+                <element signature="e#64420#81052#0" />
+                <element signature="e#81104#94781#0" />
+                <element signature="e#94835#108888#0" />
+                <element signature="e#108941#122901#0" />
+                <element signature="e#123056#124489#0" />
+                <element signature="e#124426#125640#0" />
+                <element signature="e#125797#127222#0" />
+                <element signature="e#127205#128456#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/main_time.py">
+        <entry file="file://$PROJECT_DIR$/ball_func.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="106">
-              <caret line="30" column="21" lean-forward="true" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
+            <state relative-caret-position="-2743">
+              <caret line="442" selection-start-line="442" selection-end-line="442" />
               <folding>
-                <element signature="e#0#11#0" expanded="true" />
+                <element signature="e#0#15#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/settings.py">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="36">
-              <caret line="26" column="24" selection-start-line="26" selection-start-column="24" selection-end-line="26" selection-end-column="24" />
-            </state>
-          </provider>
-        </entry>
-      </file>
     </leaf>
   </component>
   <component name="FileTemplateManagerImpl">
@@ -153,8 +142,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>bodan</find>
-      <find>fbnp_all</find>
       <find>htft</find>
       <find>half_capot</find>
       <find>capot</find>
@@ -183,6 +170,8 @@
       <find>psycopg2.extras</find>
       <find>pt</find>
       <find>Lanqiustatus</find>
+      <find>new_times</find>
+      <find>status</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -192,12 +181,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/spiders/duying.py" />
-        <option value="$PROJECT_DIR$/spiders/danshuang.py" />
-        <option value="$PROJECT_DIR$/spiders/bodan.py" />
-        <option value="$PROJECT_DIR$/spiders/firstlast.py" />
-        <option value="$PROJECT_DIR$/spiders/bqguanjun.py" />
-        <option value="$PROJECT_DIR$/spiders/halffull.py" />
         <option value="$PROJECT_DIR$/spiders/rangqiu.py" />
         <option value="$PROJECT_DIR$/spiders/totalball.py" />
         <option value="$PROJECT_DIR$/spiders/wangqiuls.py" />
@@ -209,7 +192,6 @@
         <option value="$PROJECT_DIR$/spiders/wgbodan.py" />
         <option value="$PROJECT_DIR$/jianting.py" />
         <option value="$PROJECT_DIR$/requirements.txt" />
-        <option value="$PROJECT_DIR$/items.py" />
         <option value="$PROJECT_DIR$/log/zuqiu_log.log" />
         <option value="$PROJECT_DIR$/log/ball_status.log" />
         <option value="$PROJECT_DIR$/log/bangqiu.log" />
@@ -220,10 +202,7 @@
         <option value="$PROJECT_DIR$/log/wangqiu.log" />
         <option value="$PROJECT_DIR$/log/wqbodan.log" />
         <option value="$PROJECT_DIR$/log/zuqiu.log" />
-        <option value="$PROJECT_DIR$/spiders/hg3535_bangqiu.py" />
-        <option value="$PROJECT_DIR$/spiders/hg3535_lanqiu.py" />
         <option value="$PROJECT_DIR$/spiders/hg3535_wangqiu.py" />
-        <option value="$PROJECT_DIR$/spiders/wangqiu.py" />
         <option value="$PROJECT_DIR$/spiders/wqbodan.py" />
         <option value="$PROJECT_DIR$/spiders/hg3535_zuqiu.py" />
         <option value="$PROJECT_DIR$/spiders/hg3535_zq_status.py" />
@@ -233,24 +212,34 @@
         <option value="$PROJECT_DIR$/spiders/guanjun.py" />
         <option value="$PROJECT_DIR$/text.py" />
         <option value="$PROJECT_DIR$/middlewares.py" />
-        <option value="$PROJECT_DIR$/spiders/hgjieshu.py" />
         <option value="$PROJECT_DIR$/spiders/zuqiu.py" />
         <option value="$PROJECT_DIR$/spiders/hg3535_zq_status_up.py" />
-        <option value="$PROJECT_DIR$/pipelines.py" />
-        <option value="$PROJECT_DIR$/main.py" />
-        <option value="$PROJECT_DIR$/spiders/bangqiu.py" />
-        <option value="$PROJECT_DIR$/spiders/lanqiu.py" />
         <option value="$PROJECT_DIR$/spiders/liansai.py" />
-        <option value="$PROJECT_DIR$/main_time.py" />
+        <option value="$PROJECT_DIR$/spiders/lanqiu.py" />
+        <option value="$PROJECT_DIR$/spiders/hgjieshu.py" />
+        <option value="$PROJECT_DIR$/spiders/bangqiu.py" />
+        <option value="$PROJECT_DIR$/spiders/hg3535_bangqiu.py" />
+        <option value="$PROJECT_DIR$/items.py" />
+        <option value="$PROJECT_DIR$/spiders/zq_jieshu.py" />
+        <option value="$PROJECT_DIR$/spiders/wq_jieshu.py" />
+        <option value="$PROJECT_DIR$/spiders/lq_jieshu.py" />
+        <option value="$PROJECT_DIR$/spiders/bq_jieshu.py" />
+        <option value="$PROJECT_DIR$/spiders/hg3535_lanqiu.py" />
+        <option value="$PROJECT_DIR$/main.py" />
+        <option value="$PROJECT_DIR$/spiders/wangqiu.py" />
         <option value="$PROJECT_DIR$/settings.py" />
+        <option value="$PROJECT_DIR$/pipelines.py" />
+        <option value="$PROJECT_DIR$/ball_func.py" />
+        <option value="$PROJECT_DIR$/main_time.py" />
+        <option value="$PROJECT_DIR$/spiders/roll_bangqiu.py" />
       </list>
     </option>
   </component>
-  <component name="ProjectFrameBounds" extendedState="7">
-    <option name="x" value="452" />
-    <option name="y" value="3" />
-    <option name="width" value="1362" />
-    <option name="height" value="1050" />
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="-8" />
+    <option name="y" value="-8" />
+    <option name="width" value="1936" />
+    <option name="height" value="1066" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
   <component name="ProjectView">
@@ -345,7 +334,7 @@
       <option name="ADD_CONTENT_ROOTS" value="true" />
       <option name="ADD_SOURCE_ROOTS" value="true" />
       <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
-      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/spiders/hgjieshu.py" />
+      <option name="SCRIPT_NAME" value="C:\Users\admin\Desktop\sports_scrapy\hg3535\spiders\zq_jieshu.py" />
       <option name="PARAMETERS" value="" />
       <option name="SHOW_COMMAND_LINE" value="false" />
       <option name="EMULATE_TERMINAL" value="false" />
@@ -527,7 +516,7 @@
       <workItem from="1558438097772" duration="25035000" />
       <workItem from="1558506590036" duration="13475000" />
       <workItem from="1558523229860" duration="749000" />
-      <workItem from="1558529201114" duration="31436000" />
+      <workItem from="1558529201114" duration="62016000" />
     </task>
     <task id="LOCAL-00001" summary="修改后,版本二">
       <created>1555727493584</created>
@@ -673,7 +662,7 @@
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="1506831000" />
+    <option name="totallyTimeSpent" value="1537411000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -701,9 +690,9 @@
       <window_info anchor="bottom" id="Version Control" order="7" weight="0.2918455" />
       <window_info anchor="bottom" id="Database Changes" order="8" />
       <window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.50586355" side_tool="true" weight="0.39055794" />
-      <window_info anchor="bottom" x="22" y="376" width="1876" height="298" id="Terminal" order="10" sideWeight="0.49413645" weight="0.38733906" />
-      <window_info anchor="bottom" id="Python Console" order="11" sideWeight="0.49946696" weight="0.32832617" />
-      <window_info anchor="bottom" id="Run" order="12" sideWeight="0.4946695" visible="true" weight="0.50429183" />
+      <window_info anchor="bottom" x="22" y="376" width="1876" height="298" id="Terminal" order="10" sideWeight="0.49413645" weight="0.38626608" />
+      <window_info anchor="bottom" id="Python Console" order="11" sideWeight="0.49946696" weight="0.4356223" />
+      <window_info anchor="bottom" id="Run" order="12" sideWeight="0.4946695" visible="true" weight="0.39806867" />
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
@@ -802,79 +791,6 @@
     </expressions>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/log/zuqiu_2019_5_22.log">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-32286">
-          <caret line="990" lean-forward="true" selection-start-line="990" selection-end-line="990" />
-        </state>
-      </provider>
-      <provider editor-type-id="LargeFileEditor">
-        <state relative-caret-position="-28086" />
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/enum.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="149">
-          <caret line="518" selection-start-line="518" selection-end-line="518" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/socket.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="149">
-          <caret line="102" selection-start-line="102" selection-end-line="102" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/redis/connection.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="185">
-          <caret line="519" selection-start-line="519" selection-end-line="519" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/redis/client.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="185">
-          <caret line="771" selection-start-line="771" selection-end-line="771" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/psycopg2/extras.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="193">
-          <caret line="141" selection-start-line="141" selection-end-line="141" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/psycopg2/__init__.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1908">
-          <caret line="124" selection-start-line="124" selection-end-line="124" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/psycopg2/extensions.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="3186">
-          <caret line="184" selection-start-line="184" selection-end-line="184" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/scrapy/settings/__init__.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1512">
-          <caret line="91" selection-start-line="91" selection-end-line="91" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/twisted/internet/defer.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="158">
-          <caret line="1417" selection-start-line="1417" selection-end-line="1417" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/scrapy/crawler.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="150">
@@ -1000,92 +916,140 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/log/guanjun_2019_5_23.log">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-769591" />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/log/wangqiu_2019_5_23.log">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-4134">
+          <caret line="28" column="133" lean-forward="true" selection-start-line="28" selection-start-column="67" selection-end-line="28" selection-end-column="144" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/kaishi.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="162">
+          <caret line="9" column="15" lean-forward="true" selection-start-line="9" selection-start-column="15" selection-end-line="9" selection-end-column="15" />
+          <folding>
+            <element signature="e#0#13#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/parsel/selector.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="161">
+          <caret line="237" selection-start-line="237" selection-end-line="237" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/log/bangqiu_2019_5_24.log">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-4564" />
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/middlewares.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="73">
-          <caret line="137" selection-start-line="137" selection-end-line="142" selection-end-column="31" />
+        <state relative-caret-position="288">
+          <caret line="142" column="17" selection-start-line="142" selection-start-column="17" selection-end-line="142" selection-end-column="17" />
           <folding>
             <element signature="e#168#181#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/items.py">
+    <entry file="file://$PROJECT_DIR$/log/liansai_2019_5_24.log">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-4696" />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/log/lanqiu_2019_5_24.log">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="461">
-          <caret line="232" column="10" selection-start-line="232" selection-start-column="10" selection-end-line="232" selection-end-column="10" />
+        <state relative-caret-position="-1674" />
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/scrapy/spiderloader.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="154">
+          <caret line="70" selection-start-line="70" selection-end-line="70" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/log/guanjun_2019_5_23.log">
+    <entry file="file://$PROJECT_DIR$/items.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-769591" />
+        <state relative-caret-position="336">
+          <caret line="489" selection-start-line="489" selection-end-line="489" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/log/wangqiu_2019_5_23.log">
+    <entry file="file://$PROJECT_DIR$/spiders/lq_jieshu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-4134">
-          <caret line="28" column="133" lean-forward="true" selection-start-line="28" selection-start-column="67" selection-end-line="28" selection-end-column="144" />
+        <state relative-caret-position="186">
+          <caret line="17" selection-start-line="17" selection-end-line="18" selection-end-column="104" />
+          <folding>
+            <element signature="e#24#39#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/kaishi.py">
+    <entry file="file://$PROJECT_DIR$/spiders/zq_jieshu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="162">
-          <caret line="9" column="15" lean-forward="true" selection-start-line="9" selection-start-column="15" selection-end-line="9" selection-end-column="15" />
+        <state relative-caret-position="324">
+          <caret line="18" selection-start-line="18" selection-end-line="19" selection-end-column="104" />
           <folding>
-            <element signature="e#0#13#0" expanded="true" />
+            <element signature="e#36#51#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pipelines.py">
+    <entry file="file://$PROJECT_DIR$/spiders/wqbodan.py">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/spiders/zuqiu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="139">
-          <caret line="1906" lean-forward="true" selection-start-line="1906" selection-end-line="1906" />
+        <state relative-caret-position="72">
+          <caret line="14" column="9" lean-forward="true" selection-start-line="14" selection-end-line="14" selection-end-column="36" />
           <folding>
-            <element signature="e#0#15#0" expanded="true" />
-            <element signature="e#89779#93327#0" />
-            <element signature="e#93398#96641#0" />
-            <element signature="e#96686#97376#0" />
-            <element signature="e#97418#97899#0" />
-            <element signature="e#97929#98244#0" />
-            <element signature="e#98285#114334#0" />
-            <element signature="e#114375#116515#0" />
-            <element signature="e#117113#138031#0" />
-            <element signature="e#137169#137458#0" />
-            <element signature="e#137502#151640#0" />
-            <element signature="e#151684#169827#0" />
-            <element signature="e#169871#171520#0" />
-            <element signature="e#171565#173311#0" />
-            <element signature="e#173356#175009#0" />
+            <element signature="e#24#35#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/main.py">
+    <entry file="file://$PROJECT_DIR$/spiders/liansai.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="342">
-          <caret line="19" column="56" lean-forward="true" selection-start-line="19" selection-start-column="56" selection-end-line="19" selection-end-column="56" />
+        <state relative-caret-position="270">
+          <caret line="22" lean-forward="true" selection-start-line="22" selection-end-line="22" />
           <folding>
-            <element signature="e#0#10#0" expanded="true" />
+            <element signature="e#24#39#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/spiders/bangqiu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="126">
-          <caret line="19" column="1" selection-start-line="19" selection-start-column="1" selection-end-line="20" selection-end-column="102" />
+        <state relative-caret-position="2808">
+          <caret line="197" column="113" selection-start-line="197" selection-start-column="113" selection-end-line="197" selection-end-column="113" />
           <folding>
             <element signature="e#24#35#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/spiders/bq_jieshu.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="10" column="22" lean-forward="true" selection-start-line="10" selection-start-column="22" selection-end-line="10" selection-end-column="22" />
+          <folding>
+            <element signature="e#24#39#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/spiders/guanjun.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="720">
+        <state relative-caret-position="606">
           <caret line="43" column="45" selection-start-line="43" selection-start-column="45" selection-end-line="43" selection-end-column="45" />
           <folding>
             <element signature="e#24#35#0" expanded="true" />
@@ -1093,106 +1057,151 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/hg3535_bangqiu.py">
+    <entry file="file://$PROJECT_DIR$/spiders/hg3535_zq_status_up.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="144">
-          <caret line="20" column="19" lean-forward="true" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="24" />
+        <state relative-caret-position="1176">
+          <caret line="236" column="39" lean-forward="true" selection-start-line="235" selection-end-line="237" selection-end-column="108" />
           <folding>
-            <element signature="e#46#61#0" expanded="true" />
+            <element signature="e#25#40#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/spiders/roll_zuqiu.py">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/spiders/lanqiu.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="342">
+          <caret line="53" lean-forward="true" selection-start-line="53" selection-end-line="53" />
+          <folding>
+            <element signature="e#24#35#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/hg3535_lanqiu.py">
+    <entry file="file://$PROJECT_DIR$/spiders/wq_jieshu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="72">
-          <caret line="37" column="16" selection-start-line="37" selection-start-column="12" selection-end-line="37" selection-end-column="23" />
+        <state relative-caret-position="306">
+          <caret line="17" column="1" selection-start-line="17" selection-start-column="1" selection-end-line="18" selection-end-column="104" />
           <folding>
             <element signature="e#24#39#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/hg3535_wangqiu.py">
+    <entry file="file://$PROJECT_DIR$/main.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-594" />
+        <state relative-caret-position="378">
+          <caret line="21" column="56" lean-forward="true" selection-start-line="21" selection-start-column="56" selection-end-line="21" selection-end-column="56" />
+          <folding>
+            <element signature="e#0#10#0" expanded="true" />
+          </folding>
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/hg3535_zq_status.py">
+    <entry file="file://$PROJECT_DIR$/spiders/wangqiu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-2700" />
+        <state relative-caret-position="87">
+          <caret line="152" column="14" selection-start-line="152" selection-start-column="14" selection-end-line="152" selection-end-column="14" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/hg3535_zq_status_up.py">
+    <entry file="file://$PROJECT_DIR$/spiders/roll_lanqiu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-32">
-          <caret line="227" column="27" selection-start-line="227" selection-start-column="27" selection-end-line="227" selection-end-column="27" />
+        <state relative-caret-position="192">
+          <caret line="37" column="14" selection-start-line="37" selection-start-column="12" selection-end-line="37" selection-end-column="23" />
           <folding>
-            <element signature="e#25#40#0" expanded="true" />
+            <element signature="e#24#39#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/hg3535_zuqiu.py">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/spiders/roll_wangqiu.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="252">
+          <caret line="38" column="20" selection-start-line="38" selection-start-column="12" selection-end-line="38" selection-end-column="24" />
+          <folding>
+            <element signature="e#24#39#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/hgjieshu.py">
+    <entry file="file://$PROJECT_DIR$/spiders/hg3535_zq_status.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="400">
-          <caret line="37" column="23" lean-forward="true" selection-start-line="37" selection-start-column="23" selection-end-line="37" selection-end-column="23" />
+        <state relative-caret-position="180">
+          <caret line="175" column="27" lean-forward="true" selection-start-line="175" selection-start-column="27" selection-end-line="175" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/lanqiu.py">
+    <entry file="file://$PROJECT_DIR$/main_notroll.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="256">
-          <caret line="49" selection-start-line="49" selection-end-line="50" selection-end-column="101" />
+        <state>
           <folding>
-            <element signature="e#24#35#0" expanded="true" />
+            <element signature="e#0#11#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/liansai.py">
+    <entry file="file://$PROJECT_DIR$/settings.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="234">
-          <caret line="19" selection-start-line="19" selection-end-line="20" selection-end-column="102" />
+        <state relative-caret-position="297">
+          <caret line="145" column="24" lean-forward="true" selection-start-line="145" selection-start-column="24" selection-end-line="145" selection-end-column="24" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pipelines.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="198">
+          <caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
           <folding>
-            <element signature="e#24#39#0" expanded="true" />
+            <element signature="e#0#11#0" expanded="true" />
+            <element signature="e#653#19776#0" />
+            <element signature="e#19929#28277#0" />
+            <element signature="e#28431#36861#0" />
+            <element signature="e#37017#41760#0" />
+            <element signature="e#41914#49824#0" />
+            <element signature="e#49975#56284#0" />
+            <element signature="e#56435#64250#0" />
+            <element signature="e#64420#81052#0" />
+            <element signature="e#81104#94781#0" />
+            <element signature="e#94835#108888#0" />
+            <element signature="e#108941#122901#0" />
+            <element signature="e#123056#124489#0" />
+            <element signature="e#124426#125640#0" />
+            <element signature="e#125797#127222#0" />
+            <element signature="e#127205#128456#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/wangqiu.py">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/wqbodan.py">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/spiders/zuqiu.py">
+    <entry file="file://$PROJECT_DIR$/ball_func.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-144">
-          <caret line="13" column="18" lean-forward="true" selection-start-line="13" selection-start-column="18" selection-end-line="13" selection-end-column="18" />
+        <state relative-caret-position="-2743">
+          <caret line="442" selection-start-line="442" selection-end-line="442" />
           <folding>
-            <element signature="e#24#35#0" expanded="true" />
+            <element signature="e#0#15#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/main_time.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="106">
-          <caret line="30" column="21" lean-forward="true" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
+        <state relative-caret-position="133">
+          <caret line="24" column="43" lean-forward="true" selection-start-line="24" selection-start-column="43" selection-end-line="24" selection-end-column="43" />
           <folding>
             <element signature="e#0#11#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/settings.py">
+    <entry file="file://$PROJECT_DIR$/spiders/roll_bangqiu.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="36">
-          <caret line="26" column="24" selection-start-line="26" selection-start-column="24" selection-end-line="26" selection-end-column="24" />
+        <state relative-caret-position="-25">
+          <caret line="19" column="25" lean-forward="true" selection-start-line="19" selection-start-column="25" selection-end-line="19" selection-end-column="25" />
+          <folding>
+            <element signature="e#46#61#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>

二进制
hg3535/__pycache__/ball_func.cpython-36.pyc


二进制
hg3535/__pycache__/items.cpython-36.pyc


二进制
hg3535/__pycache__/pipelines.cpython-36.pyc


二进制
hg3535/__pycache__/settings.cpython-36.pyc


+ 1019 - 0
hg3535/ball_func.py

@@ -0,0 +1,1019 @@
+import datetime
+import hashlib
+import time
+
+# 生成哈希索引 sole
+def hash_func(match_id, odds_code, sort, p_id):
+    m = hashlib.md5()
+    a = str(match_id) + str(odds_code) + str(sort) + str(p_id)
+    m.update(a.encode('utf-8'))
+    c = m.hexdigest()
+    return c
+
+
+# 生成odds_only哈希
+def r_func(match_id, odds_code, sort, p_id, odd):
+    m = hashlib.md5()
+    a = str(match_id) + str(odds_code) + str(sort) + str(p_id) + str(odd)
+    m.update(a.encode('utf-8'))
+    c = m.hexdigest()
+    return c
+
+
+# 转换成本地时间
+def new_time(ctime):
+    time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
+    time2 = time.localtime(time1)
+    time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
+    time4 = time3
+    data_time = str(time4).split(" ")
+    match_date = data_time[0]
+    match_time = data_time[1]
+    return match_date, match_time, time3
+
+
+def out_time(ctime, i):
+    ctime1 = datetime.datetime.strptime(ctime, "%Y-%m-%d %H:%M:%S")
+    n_ctime = (ctime1 + datetime.timedelta(hours=i)).strftime("%Y-%m-%d %H:%M:%S")
+    return n_ctime
+
+
+def fuhao(f):
+    if f.startswith('+'):
+        f = f.replace('+', '-')
+        return f
+    elif f.startswith('-'):
+        f = f.replace('-', '+')
+        return f
+    else:
+        return f
+
+
+# 篮球插入赔率 -----------------------------------------------------------------------------------------------------------
+def one_intodb(data1, data2, data3, cursor, redis_db):
+    if data1:
+        for key, value in data1.items():
+            if value:
+                for x, y in enumerate(value):
+                    new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=x, p_id=data2['p_id'])
+                    r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=x, p_id=data2['p_id'],odd=y)
+                    odds_only = r_hash
+                    l_f = fuhao(str(data3[key][x]))
+                    if redis_db.hexists("hg3535_lanqiu", r_hash):
+                        pass
+                    else:
+                        redis_db.hset("hg3535_lanqiu", r_hash, 0)
+                        sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+                        cursor.execute(sql1, (
+                            int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], y,
+                            data2['p_id'], data2["p_code"], x, data2["source"], new_hash,
+                            l_f, data2['expire_time'], odds_only,data2['utime'], y, data2['expire_time'],
+                            odds_only, l_f))
+                        # 更新主队st_zq_odds_record表
+                        sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s,%s);"
+                        cursor.execute(sql2, (
+                            int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], y,
+                            data2['p_id'], data2["p_code"], x, data2["source"], l_f, odds_only))
+
+
+def two_intodb(data1, data2, data3, cursor, redis_db):
+    if data1:
+        for key, value in data1.items():
+            if value:
+                new_hash = hash_func(match_id=data2['game_id'], odds_code=data3 + key, sort=data2['sort'], p_id=data2['p_id'])
+
+                r_hash = r_func(match_id=data2['game_id'], odds_code=data3 + key, sort=data2['sort'], p_id=data2['p_id'],odd=value)
+                odds_only = r_hash
+                if redis_db.hexists("hg3535_lanqiu", r_hash):
+                    pass
+                else:
+                    redis_db.hset("hg3535_lanqiu", r_hash, 0)
+                    sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+                    cursor.execute(sql1, (
+                        int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+                        key, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'], odds_only,key))
+                    # 更新主队st_zq_odds_record表
+                    sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s,%s);"
+                    cursor.execute(sql2, (
+                        int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], key, odds_only))
+
+
+def three_intodb(data1, data2, cursor, redis_db):
+    if data1:
+        for key, value in data1.items():
+            if value:
+                new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
+
+                r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'],odd=value)
+                odds_only = r_hash
+                if redis_db.hexists("hg3535_lanqiu", r_hash):
+                    pass
+                else:
+                    redis_db.hset("hg3535_lanqiu", r_hash, 0)
+                    sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s;"
+                    cursor.execute(sql1, (
+                        int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash, data2['expire_time'],
+                        odds_only,data2['utime'], value, data2['expire_time'], odds_only))
+                    # 更新主队st_zq_odds_record表
+                    sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+                    cursor.execute(sql2, (
+                        int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], odds_only))
+
+
+
+# 插入篮球赛事表
+def into_competition(data, cursor):
+    Competition_sql = "insert into st_lq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag, type, source,expire_time,is_today,is_morningplate,is_stringscene) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s,%s, %s, %s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_today=%s,is_morningplate=%s,is_stringscene=%s;"
+    cursor.execute(Competition_sql, (
+        data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+        data['match_time'],
+        data['utime'], data['utime'], data['number'], data['pt'], data["source"], data['expire_time'], data['is_today'],
+        data['is_morningplate'], data['is_stringscene'], data['number'], data['expire_time'], data['is_today'],
+        data['is_morningplate'], data['is_stringscene']))
+
+
+# 插入足球赛事表----------------------------------------------------------------------------------------------------------
+def zqone_competition(data, cursor):
+    Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_today,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_today=%s,us_time=%s;"
+    cursor.execute(Competition_sql, (
+        data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+        data['match_time'],
+        data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_today'],
+        data['us_time'], data['number'], data['expire_time'], data['is_today'],data['us_time']))
+
+
+def zqtwo_competition(data, cursor):
+    Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_morningplate,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_morningplate=%s,us_time=%s;"
+    cursor.execute(Competition_sql, (
+        data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+        data['match_time'],
+        data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_morningplate'],
+        data['us_time'], data['number'], data['expire_time'], data['is_morningplate'], data['us_time']))
+
+
+def zqthree_competition(data, cursor):
+    Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_stringscene,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_stringscene=%s,us_time=%s;"
+    cursor.execute(Competition_sql, (
+        data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+        data['match_time'],
+        data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_stringscene'],
+        data['us_time'], data['number'], data['expire_time'], data['is_stringscene'], data['us_time']))
+
+
+# 足球 插入赔率 让球 大小-------------------------------------------------------------------------------------------------
+def zqone_intodb(data1, data2, data3, data4, cursor, redis_db):
+    if data1:
+        for index, value in enumerate(data1):
+            if value:
+                new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'])
+                r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'], odd=value)
+                odds_only = r_hash
+                f1 = fuhao(str(data4[index]))
+                if redis_db.hexists("hg3535_zuqiu", r_hash):
+                    pass
+                else:
+                    redis_db.hset("hg3535_zuqiu", r_hash, 0)
+                    sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+                    cursor.execute(sql1, (
+                        int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], index, data2["source"], new_hash,
+                        f1, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'],
+                        odds_only, f1))
+
+                    # 更新主队st_zq_odds_record表
+                    sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+                    cursor.execute(sql2, (
+                        int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], index, data2["source"], f1, odds_only))
+
+
+
+# 足球 插入赔率  独赢 单双
+def zqtwo_intodb(data1, data2, data3, data4, cursor, redis_db):
+    if data1:
+        new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'])
+        r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'],
+                        odd=data1)
+        odds_only = r_hash
+        if redis_db.hexists("hg3535_zuqiu", r_hash):
+            pass
+        else:
+            redis_db.hset("hg3535_zuqiu", r_hash, 0)
+            sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time, odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+            cursor.execute(sql1, (
+                int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+                data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+                data4, data2['expire_time'], odds_only, data2['utime'], data1, data2['expire_time'], odds_only,data4))
+            # 更新主队st_zq_odds_record表
+            sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s,%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+            cursor.execute(sql2, (
+                int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+                data2['p_id'], data2["p_code"], data2['sort'], data2["source"], data4, odds_only))
+
+
+def gjz_into(data, cursor, r_hash, s_hash, redis_db):
+    if redis_db.hexists('hg3535_guanjun', r_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_guanjun', r_hash, 0)
+        # if pt == 1:
+        sql = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+        cursor.execute(sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+            data['champion_team'], data['expire_time'], data['odds_only']))
+        # 插入st_zq_odds_record表
+        new_sql = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
+        cursor.execute(new_sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['odds_only']))
+
+    if redis_db.hexists('hg3535_liansai', s_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_liansai', s_hash, 0)
+        league_sql = "insert into st_zq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+        cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+
+
+def gjl_into(data, cursor, r_hash, s_hash, redis_db):
+    if redis_db.hexists('hg3535_guanjun', r_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_guanjun', r_hash, 0)
+        sql = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+        cursor.execute(sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+            data['champion_team'], data['expire_time'], data['odds_only']))
+        # 插入st_zq_odds_record表
+        new_sql = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
+        cursor.execute(new_sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['odds_only']))
+    # 插入st_zq_league表
+    if redis_db.hexists('hg3535_liansai', s_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_liansai', s_hash, 0)
+        league_sql = "insert into st_lq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+        cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+
+
+def gjw_into(data, cursor, r_hash, s_hash, redis_db):
+    if redis_db.hexists('hg3535_guanjun', r_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_guanjun', r_hash, 0)
+        sql = "insert into st_wq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+        cursor.execute(sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+            data['champion_team'], data['expire_time'], data['odds_only']))
+        # 插入st_zq_odds_record表
+        new_sql = "insert into st_wq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s,%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s)"
+        cursor.execute(new_sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['odds_only']))
+    # 插入st_zq_league表
+    if redis_db.hexists('hg3535_liansai', s_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_liansai', s_hash, 0)
+        league_sql = "insert into st_wq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+        cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+
+
+def gjb_into(data, cursor, r_hash, s_hash, redis_db):
+    if redis_db.hexists('hg3535_guanjun', r_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_guanjun', r_hash, 0)
+        sql = "insert into st_bq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+        cursor.execute(sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+            data['champion_team'], data['expire_time'], data['odds_only']))
+        # 插入st_zq_odds_record表
+        new_sql = "insert into st_bq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
+        cursor.execute(new_sql, (
+            int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+            data['champion_team'], data['p_id'], data['new_league_name'],
+            data['tema_home'], 1, "hg3535", data['odds_only']))
+    # 插入st_zq_league表
+    if redis_db.hexists('hg3535_liansai', s_hash):
+        pass
+    else:
+        redis_db.hset('hg3535_liansai', s_hash, 0)
+        league_sql = "insert into st_bq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+        cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+
+
+# 网球 插入赔率----------------------------------------------------------------------------------------------------------
+def wqone_intodb(data1, data2, data3, cursor, redis_db):
+    if data1:
+        for key, value in data1.items():
+            if value:
+                new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
+                r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'], odd=value)
+                odds_only = r_hash
+                w_f = fuhao(str(data3[key]))
+                if redis_db.hexists("hg3535_wangqiu", r_hash):
+                    pass
+                else:
+                    redis_db.hset("hg3535_wangqiu", r_hash, 0)
+                    sql1 = "insert into st_wq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+                    cursor.execute(sql1, (
+                        int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+                        w_f, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'],
+                        odds_only, w_f))
+                    # 更新主队st_zq_odds_record表
+                    sql2 = "insert into st_wq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+                    cursor.execute(sql2, (
+                        int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], w_f, odds_only))
+
+
+# 棒球 插入赔率----------------------------------------------------------------------------------------------------------
+def bqone_intodb(data1, data2, data3, cursor, redis_db):
+    if data1:
+        for key, value in data1.items():
+            if value:
+                new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
+                r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'], odd=value)
+                odds_only = r_hash
+                b_f = fuhao(str(data3[key]))
+                if redis_db.hexists("hg3535_bangqiu", r_hash):
+                    pass
+                else:
+                    redis_db.hset("hg3535_bangqiu", r_hash, 0)
+                    sql1 = "insert into st_bq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s"
+                    cursor.execute(sql1, (
+                        int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+                        b_f, data2['expire_time'], odds_only, data2['utime'], value,data2['expire_time'],
+                        odds_only, b_f))
+                    # 更新主队st_zq_odds_record表
+                    sql2 = "insert into st_bq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s, %s);"
+                    cursor.execute(sql2, (
+                        int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+                        data2['p_id'], data2["p_code"], data2['sort'], data2["source"], b_f, odds_only))
+
+
+
+def get_pcode(corner_ball, code):
+    code_dict = {'concede_size': 1, 'capot': 2, 'two_sides': 3, 'total_goal': 4, 'half_full': 5, 'bodan': 6,
+                 'first_last_ball': 7, 'temaball': 11}
+    if corner_ball == "角球":
+        p_code = "corner_ball"
+        p_id = 9
+    elif corner_ball == "会晋级":
+        p_code = "promotion"
+        p_id = 10
+    elif corner_ball == "罚牌数":
+        p_code = "Penalty_card"
+        p_id = 12
+    else:
+        p_code = code
+        p_id = code_dict[code]
+    return p_code, p_id
+
+
+
+
+
+# ------------------------------------------------------------------------------------------------------------------------
+def new_times(ctime):
+    time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
+    time2 = time.localtime(time1)
+    time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
+    data_time = str(time3).split(" ")
+    match_date = data_time[0]
+    match_time = data_time[1]
+    return match_date,match_time
+
+
+def zqone_intodbs(data1, data2, data3, data4, cursor, redis_db):
+    if data1:
+        for index, value in enumerate(data1):
+            if value:
+                new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'])
+                r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'], odd=value)
+                odds_only = r_hash
+                if redis_db.hexists("hg3535_zuqiu", r_hash):
+                    pass
+                else:
+                    redis_db.hset("hg3535_zuqiu", r_hash, 0)
+                    # if data2['pt'] == 0:
+                    sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only,is_rollball) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+                    cursor.execute(sql1, (
+                        int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], index, data2["source"], new_hash,
+                        data4[index], data2['expire_time'], odds_only, 1, data2['utime'], value, data2['expire_time'],
+                        odds_only,data4[index]))
+
+                    # 更新主队st_zq_odds_record表
+                    sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only,is_rollball) values (%s,%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+                    cursor.execute(sql2, (
+                        int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+                        data2['p_id'], data2["p_code"], index, data2["source"], data4[index], odds_only,1))
+                    #写入数据设置默认值竟然不生效 待看
+                    sql3 = "insert into st_zq_result(match_id, match_score, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_winer, update_time, match_time,match_process,tag,lg_id,u_home_score,u_guest_score,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set update_time=%s,match_score=%s,match_time=%s,match_process=%s,home_score=%s,guest_score=%s;"
+                    cursor.execute(sql3, (
+                        int(data2['game_id']), data2['match_score'],data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','','',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['league_id']),0,0,'hg3535',data2["p_code"],data2['utime'],data2['match_score'],data2['time_game'],data2['half_way'],data2['score_home'],data2['score_guest']
+                    ))
+
+                    sql4 = "insert into st_zq_result_record(lg_id, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_score, match_winer, update_time, match_time,match_process,tag,match_id,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s);"
+                    cursor.execute(sql4, (
+                        int(data2['league_id']), data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','',data2['match_score'],'',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['game_id']),'hg3535',data2["p_code"]
+                    ))
+
+
+def zqtwo_intodbs(data1, data2, data3, data4, cursor, redis_db):
+    if data1:
+        new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'])
+        r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'],
+                        odd=data1)
+        odds_only = r_hash
+        if redis_db.hexists("hg3535_zuqiu", r_hash):
+            pass
+        else:
+            redis_db.hset("hg3535_zuqiu", r_hash, 0)
+            # if data2['pt'] == 1:
+            sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time, odds_only,is_today) values (%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+            cursor.execute(sql1, (
+                int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+                data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+                data4, data2['expire_time'], odds_only, 1, data2['utime'], data1, data2['expire_time'], odds_only,data4))
+            # 更新主队st_zq_odds_record表
+            sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only, is_today) values (%s,%s,%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+            cursor.execute(sql2, (
+                int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+                data2['p_id'], data2["p_code"], data2['sort'], data2["source"], data4, odds_only, 1))
+
+            sql3 = "insert into st_zq_result(match_id, match_score, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_winer, update_time, match_time,match_process,tag,lg_id,u_home_score,u_guest_score,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set update_time=%s,match_score=%s,match_time=%s,match_process=%s,home_score=%s,guest_score=%s;"
+            cursor.execute(sql3, (
+                    int(data2['game_id']), data2['match_score'],data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','','',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['league_id']),0,0,'hg3535',data2["p_code"],data2['utime'],data2['match_score'],data2['time_game'],data2['half_way'],data2['score_home'],data2['score_guest']
+                ))
+
+            sql4 = "insert into st_zq_result_record(lg_id, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_score, match_winer, update_time, match_time,match_process,tag,match_id,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s);"
+            cursor.execute(sql4, (
+                    int(data2['league_id']), data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','',data2['match_score'],'',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['game_id']),'hg3535',data2["p_code"]
+                ))
+
+
+def zqone_competitions(data, cursor):
+    Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, status, match_id, match_date, match_time, ctime, utime,tag, source,type,expire_time,us_time,is_rollball) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set utime = %s,status=%s,tag=%s,expire_time=%s;"
+    cursor.execute(Competition_sql, (
+        data['team_home'], data['team_guest'], data['league_id'],1,data['game_id'], data['match_date'],
+        data['match_time'],
+        data['utime'], data['utime'], data['number'], data["source"], 4,data['expire_time'], data['us_time'],data['is_rollball'],
+        data['utime'], 1, data['number'], data['expire_time']))
+
+
+def get_pcodes(corner_ball, code):
+    code_dict = {'concede_size': 1, 'capot': 2, 'two_sides': 3, 'total_goal': 4, 'half_full': 5, 'bodan': 6,
+                 'first_last_ball': 7, 'temaball': 11}
+    if corner_ball == "角球":
+        p_code = "corner_ball"
+        p_id = 9
+    elif corner_ball == "会晋级":
+        p_code = "promotion"
+        p_id = 10
+    elif corner_ball == "罚牌数":
+        p_code = "Penalty_card"
+        p_id = 12
+    else:
+        p_code = code
+        p_id = code_dict[code]
+    return p_code, p_id
+
+
+def news_times(ctime):
+    time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
+    time2 = time.localtime(time1)
+    time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
+    time4 = time3
+    data_time = str(time4).split(" ")
+    match_date = data_time[0]
+    match_time = data_time[1]
+    return match_date, match_time, time3
+
+
+# def hash_func(match_id, odds_code, sort, p_id):
+#     m = hashlib.md5()
+#     a = str(match_id) + str(odds_code) + str(sort) + str(p_id)
+#     m.update(a.encode('utf-8'))
+#     c = m.hexdigest()
+#     return c
+#
+#
+# # 生成odds_only哈希
+# def r_func(match_id, odds_code, sort, p_id, odd):
+#     m = hashlib.md5()
+#     a = str(match_id) + str(odds_code) + str(sort) + str(p_id) + str(odd)
+#     m.update(a.encode('utf-8'))
+#     c = m.hexdigest()
+#     return c
+#
+#
+# # 转换成本地时间
+# def new_time(ctime):
+#     time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
+#     time2 = time.localtime(time1)
+#     time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
+#     time4 = time3
+#     data_time = str(time4).split(" ")
+#     match_date = data_time[0]
+#     match_time = data_time[1]
+#     return match_date, match_time, time3
+#
+#
+# def out_time(ctime, i):
+#     ctime1 = datetime.datetime.strptime(ctime, "%Y-%m-%d %H:%M:%S")
+#     n_ctime = (ctime1 + datetime.timedelta(hours=i)).strftime("%Y-%m-%d %H:%M:%S")
+#     return n_ctime
+#
+#
+# def fuhao(f):
+#     if f.startswith('+'):
+#         f = f.replace('+', '-')
+#         return f
+#     elif f.startswith('-'):
+#         f = f.replace('-', '+')
+#         return f
+#     else:
+#         return f
+#
+#
+# # 篮球插入赔率 -----------------------------------------------------------------------------------------------------------
+# def one_intodb(data1, data2, data3, cursor, redis_db):
+#     if data1:
+#         for key, value in data1.items():
+#             if value:
+#                 for x, y in enumerate(value):
+#                     new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=x, p_id=data2['p_id'])
+#                     r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=x, p_id=data2['p_id'],odd=y)
+#                     odds_only = r_hash
+#                     l_f = fuhao(str(data3[key][x]))
+#                     if redis_db.hexists("hg3535_lanqiu", r_hash):
+#                         pass
+#                     else:
+#                         redis_db.hset("hg3535_lanqiu", r_hash, 0)
+#                         sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+#                         cursor.execute(sql1, (
+#                             int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], y,
+#                             data2['p_id'], data2["p_code"], x, data2["source"], new_hash,
+#                             l_f, data2['expire_time'], odds_only,data2['utime'], y, data2['expire_time'],
+#                             odds_only, l_f))
+#                         # 更新主队st_zq_odds_record表
+#                         sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s,%s);"
+#                         cursor.execute(sql2, (
+#                             int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], y,
+#                             data2['p_id'], data2["p_code"], x, data2["source"], l_f, odds_only))
+#
+#
+# def two_intodb(data1, data2, data3, cursor, redis_db):
+#     if data1:
+#         for key, value in data1.items():
+#             if value:
+#                 new_hash = hash_func(match_id=data2['game_id'], odds_code=data3 + key, sort=data2['sort'], p_id=data2['p_id'])
+#
+#                 r_hash = r_func(match_id=data2['game_id'], odds_code=data3 + key, sort=data2['sort'], p_id=data2['p_id'],odd=value)
+#                 odds_only = r_hash
+#                 if redis_db.hexists("hg3535_lanqiu", r_hash):
+#                     pass
+#                 else:
+#                     redis_db.hset("hg3535_lanqiu", r_hash, 0)
+#                     sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+#                     cursor.execute(sql1, (
+#                         int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+#                         key, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'], odds_only,key))
+#                     # 更新主队st_zq_odds_record表
+#                     sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s,%s);"
+#                     cursor.execute(sql2, (
+#                         int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], key, odds_only))
+#
+#
+# def three_intodb(data1, data2, cursor, redis_db):
+#     if data1:
+#         for key, value in data1.items():
+#             if value:
+#                 new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
+#
+#                 r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'],odd=value)
+#                 odds_only = r_hash
+#                 if redis_db.hexists("hg3535_lanqiu", r_hash):
+#                     pass
+#                 else:
+#                     redis_db.hset("hg3535_lanqiu", r_hash, 0)
+#                     sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s;"
+#                     cursor.execute(sql1, (
+#                         int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash, data2['expire_time'],
+#                         odds_only,data2['utime'], value, data2['expire_time'], odds_only))
+#                     # 更新主队st_zq_odds_record表
+#                     sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+#                     cursor.execute(sql2, (
+#                         int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], odds_only))
+#
+#
+# # 插入篮球赛事表
+# def into_competition(data, cursor):
+#     Competition_sql = "insert into st_lq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag, type, source,expire_time,is_today,is_morningplate,is_stringscene) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s,%s, %s, %s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_today=%s,is_morningplate=%s,is_stringscene=%s;"
+#     cursor.execute(Competition_sql, (
+#         data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+#         data['match_time'],
+#         data['utime'], data['utime'], data['number'], data['pt'], data["source"], data['expire_time'], data['is_today'],
+#         data['is_morningplate'], data['is_stringscene'], data['number'], data['expire_time'], data['is_today'],
+#         data['is_morningplate'], data['is_stringscene']))
+#
+#
+# # 插入足球赛事表----------------------------------------------------------------------------------------------------------
+# def zqone_competition(data, cursor):
+#     Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_today,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_today=%s,us_time=%s;"
+#     cursor.execute(Competition_sql, (
+#         data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+#         data['match_time'],
+#         data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_today'],
+#         data['us_time'], data['number'], data['expire_time'], data['is_today'],data['us_time']))
+#
+#
+# def zqtwo_competition(data, cursor):
+#     Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_morningplate,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_morningplate=%s,us_time=%s;"
+#     cursor.execute(Competition_sql, (
+#         data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+#         data['match_time'],
+#         data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_morningplate'],
+#         data['us_time'], data['number'], data['expire_time'], data['is_morningplate'], data['us_time']))
+#
+#
+# def zqthree_competition(data, cursor):
+#     Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_stringscene,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_stringscene=%s,us_time=%s;"
+#     cursor.execute(Competition_sql, (
+#         data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
+#         data['match_time'],
+#         data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_stringscene'],
+#         data['us_time'], data['number'], data['expire_time'], data['is_stringscene'], data['us_time']))
+#
+#
+# # 足球 插入赔率 让球 大小-------------------------------------------------------------------------------------------------
+# def zqone_intodb(data1, data2, data3, data4, cursor, redis_db):
+#     if data1:
+#         for index, value in enumerate(data1):
+#             if value:
+#                 new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'])
+#                 r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'], odd=value)
+#                 odds_only = r_hash
+#                 f1 = fuhao(str(data4[index]))
+#                 if redis_db.hexists("hg3535_zuqiu", r_hash):
+#                     pass
+#                 else:
+#                     redis_db.hset("hg3535_zuqiu", r_hash, 0)
+#                     sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+#                     cursor.execute(sql1, (
+#                         int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], index, data2["source"], new_hash,
+#                         f1, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'],
+#                         odds_only, f1))
+#
+#                     # 更新主队st_zq_odds_record表
+#                     sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+#                     cursor.execute(sql2, (
+#                         int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], index, data2["source"], f1, odds_only))
+#
+#
+#
+# # 足球 插入赔率  独赢 单双
+# def zqtwo_intodb(data1, data2, data3, data4, cursor, redis_db):
+#     if data1:
+#         new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'])
+#         r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'],
+#                         odd=data1)
+#         odds_only = r_hash
+#         if redis_db.hexists("hg3535_zuqiu", r_hash):
+#             pass
+#         else:
+#             redis_db.hset("hg3535_zuqiu", r_hash, 0)
+#             sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time, odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+#             cursor.execute(sql1, (
+#                 int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+#                 data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+#                 data4, data2['expire_time'], odds_only, data2['utime'], data1, data2['expire_time'], odds_only,data4))
+#             # 更新主队st_zq_odds_record表
+#             sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s,%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+#             cursor.execute(sql2, (
+#                 int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+#                 data2['p_id'], data2["p_code"], data2['sort'], data2["source"], data4, odds_only))
+#
+#
+# def gjz_into(data, cursor, r_hash, s_hash, redis_db):
+#     if redis_db.hexists('hg3535_guanjun', r_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_guanjun', r_hash, 0)
+#         # if pt == 1:
+#         sql = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+#         cursor.execute(sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+#             data['champion_team'], data['expire_time'], data['odds_only']))
+#         # 插入st_zq_odds_record表
+#         new_sql = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
+#         cursor.execute(new_sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['odds_only']))
+#
+#     if redis_db.hexists('hg3535_liansai', s_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_liansai', s_hash, 0)
+#         league_sql = "insert into st_zq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+#         cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+#
+#
+# def gjl_into(data, cursor, r_hash, s_hash, redis_db):
+#     if redis_db.hexists('hg3535_guanjun', r_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_guanjun', r_hash, 0)
+#         sql = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+#         cursor.execute(sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+#             data['champion_team'], data['expire_time'], data['odds_only']))
+#         # 插入st_zq_odds_record表
+#         new_sql = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
+#         cursor.execute(new_sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['odds_only']))
+#     # 插入st_zq_league表
+#     if redis_db.hexists('hg3535_liansai', s_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_liansai', s_hash, 0)
+#         league_sql = "insert into st_lq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+#         cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+#
+#
+# def gjw_into(data, cursor, r_hash, s_hash, redis_db):
+#     if redis_db.hexists('hg3535_guanjun', r_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_guanjun', r_hash, 0)
+#         sql = "insert into st_wq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+#         cursor.execute(sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+#             data['champion_team'], data['expire_time'], data['odds_only']))
+#         # 插入st_zq_odds_record表
+#         new_sql = "insert into st_wq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s,%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s)"
+#         cursor.execute(new_sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['odds_only']))
+#     # 插入st_zq_league表
+#     if redis_db.hexists('hg3535_liansai', s_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_liansai', s_hash, 0)
+#         league_sql = "insert into st_wq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+#         cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+#
+#
+# def gjb_into(data, cursor, r_hash, s_hash, redis_db):
+#     if redis_db.hexists('hg3535_guanjun', r_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_guanjun', r_hash, 0)
+#         sql = "insert into st_bq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
+#         cursor.execute(sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
+#             data['champion_team'], data['expire_time'], data['odds_only']))
+#         # 插入st_zq_odds_record表
+#         new_sql = "insert into st_bq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
+#         cursor.execute(new_sql, (
+#             int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
+#             data['champion_team'], data['p_id'], data['new_league_name'],
+#             data['tema_home'], 1, "hg3535", data['odds_only']))
+#     # 插入st_zq_league表
+#     if redis_db.hexists('hg3535_liansai', s_hash):
+#         pass
+#     else:
+#         redis_db.hset('hg3535_liansai', s_hash, 0)
+#         league_sql = "insert into st_bq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
+#         cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
+#
+#
+# # 网球 插入赔率----------------------------------------------------------------------------------------------------------
+# def wqone_intodb(data1, data2, data3, cursor, redis_db):
+#     if data1:
+#         for key, value in data1.items():
+#             if value:
+#                 new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
+#                 r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'], odd=value)
+#                 odds_only = r_hash
+#                 w_f = fuhao(str(data3[key]))
+#                 if redis_db.hexists("hg3535_wangqiu", r_hash):
+#                     pass
+#                 else:
+#                     redis_db.hset("hg3535_wangqiu", r_hash, 0)
+#                     sql1 = "insert into st_wq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+#                     cursor.execute(sql1, (
+#                         int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+#                         w_f, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'],
+#                         odds_only, w_f))
+#                     # 更新主队st_zq_odds_record表
+#                     sql2 = "insert into st_wq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+#                     cursor.execute(sql2, (
+#                         int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], w_f, odds_only))
+#
+#
+# # 棒球 插入赔率----------------------------------------------------------------------------------------------------------
+# def bqone_intodb(data1, data2, data3, cursor, redis_db):
+#     if data1:
+#         for key, value in data1.items():
+#             if value:
+#                 new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
+#                 r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'], odd=value)
+#                 odds_only = r_hash
+#                 b_f = fuhao(str(data3[key]))
+#                 if redis_db.hexists("hg3535_bangqiu", r_hash):
+#                     pass
+#                 else:
+#                     redis_db.hset("hg3535_bangqiu", r_hash, 0)
+#                     sql1 = "insert into st_bq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s"
+#                     cursor.execute(sql1, (
+#                         int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+#                         b_f, data2['expire_time'], odds_only, data2['utime'], value,data2['expire_time'],
+#                         odds_only, b_f))
+#                     # 更新主队st_zq_odds_record表
+#                     sql2 = "insert into st_bq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s, %s);"
+#                     cursor.execute(sql2, (
+#                         int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
+#                         data2['p_id'], data2["p_code"], data2['sort'], data2["source"], b_f, odds_only))
+#
+#
+#
+# def get_pcode(corner_ball, code):
+#     code_dict = {'concede_size': 1, 'capot': 2, 'two_sides': 3, 'total_goal': 4, 'half_full': 5, 'bodan': 6,
+#                  'first_last_ball': 7, 'temaball': 11}
+#     if corner_ball == "角球":
+#         p_code = "corner_ball"
+#         p_id = 9
+#     elif corner_ball == "会晋级":
+#         p_code = "promotion"
+#         p_id = 10
+#     elif corner_ball == "罚牌数":
+#         p_code = "Penalty_card"
+#         p_id = 12
+#     else:
+#         p_code = code
+#         p_id = code_dict[code]
+#     return p_code, p_id
+
+
+
+
+
+#滚球方法都加了s
+
+# def zqone_intodbs(data1, data2, data3, data4, cursor, redis_db):
+#     if data1:
+#         for index, value in enumerate(data1):
+#             if value:
+#                 new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'])
+#                 r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'], odd=value)
+#                 odds_only = r_hash
+#                 if redis_db.hexists("hg3535_zuqiu", r_hash):
+#                     pass
+#                 else:
+#                     redis_db.hset("hg3535_zuqiu", r_hash, 0)
+#                     # if data2['pt'] == 0:
+#                     sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only,is_rollball) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+#                     cursor.execute(sql1, (
+#                         int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], index, data2["source"], new_hash,
+#                         data4[index], data2['expire_time'], odds_only, 1, data2['utime'], value, data2['expire_time'],
+#                         odds_only,data4[index]))
+#
+#                     # 更新主队st_zq_odds_record表
+#                     sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only,is_rollball) values (%s,%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+#                     cursor.execute(sql2, (
+#                         int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
+#                         data2['p_id'], data2["p_code"], index, data2["source"], data4[index], odds_only,1))
+#                     #写入数据设置默认值竟然不生效 待看
+#                     sql3 = "insert into st_zq_result(match_id, match_score, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_winer, update_time, match_time,match_process,tag,lg_id,u_home_score,u_guest_score,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set update_time=%s,match_score=%s,match_time=%s,match_process=%s,home_score=%s,guest_score=%s;"
+#                     cursor.execute(sql3, (
+#                         int(data2['game_id']), data2['match_score'],data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','','',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['league_id']),0,0,'hg3535',data2["p_code"],data2['utime'],data2['match_score'],data2['time_game'],data2['half_way'],data2['score_home'],data2['score_guest']
+#                     ))
+#
+#                     sql4 = "insert into st_zq_result_record(lg_id, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_score, match_winer, update_time, match_time,match_process,tag,match_id,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s);"
+#                     cursor.execute(sql4, (
+#                         int(data2['league_id']), data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','',data2['match_score'],'',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['game_id']),'hg3535',data2["p_code"]
+#                     ))
+#
+# def zqtwo_intodbs(data1, data2, data3, data4, cursor, redis_db):
+#     if data1:
+#         new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'])
+#         r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'],
+#                         odd=data1)
+#         odds_only = r_hash
+#         if redis_db.hexists("hg3535_zuqiu", r_hash):
+#             pass
+#         else:
+#             redis_db.hset("hg3535_zuqiu", r_hash, 0)
+#             # if data2['pt'] == 1:
+#             sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time, odds_only,is_today) values (%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
+#             cursor.execute(sql1, (
+#                 int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+#                 data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
+#                 data4, data2['expire_time'], odds_only, 1, data2['utime'], data1, data2['expire_time'], odds_only,data4))
+#             # 更新主队st_zq_odds_record表
+#             sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only, is_today) values (%s,%s,%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
+#             cursor.execute(sql2, (
+#                 int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
+#                 data2['p_id'], data2["p_code"], data2['sort'], data2["source"], data4, odds_only, 1))
+#
+#             sql3 = "insert into st_zq_result(match_id, match_score, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_winer, update_time, match_time,match_process,tag,lg_id,u_home_score,u_guest_score,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set update_time=%s,match_score=%s,match_time=%s,match_process=%s,home_score=%s,guest_score=%s;"
+#             cursor.execute(sql3, (
+#                     int(data2['game_id']), data2['match_score'],data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','','',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['league_id']),0,0,'hg3535',data2["p_code"],data2['utime'],data2['match_score'],data2['time_game'],data2['half_way'],data2['score_home'],data2['score_guest']
+#                 ))
+#
+#             sql4 = "insert into st_zq_result_record(lg_id, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_score, match_winer, update_time, match_time,match_process,tag,match_id,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s);"
+#             cursor.execute(sql4, (
+#                     int(data2['league_id']), data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','',data2['match_score'],'',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['game_id']),'hg3535',data2["p_code"]
+#                 ))
+#
+#
+# def zqone_competitions(data, cursor):
+#     Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, status, match_id, match_date, match_time, ctime, utime,tag, source,type,expire_time,us_time,is_rollball) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set utime = %s,status=%s,tag=%s,expire_time=%s;"
+#     cursor.execute(Competition_sql, (
+#         data['team_home'], data['team_guest'], data['league_id'],1,data['game_id'], data['match_date'],
+#         data['match_time'],
+#         data['utime'], data['utime'], data['number'], data["source"], 4,data['expire_time'], data['us_time'],data['is_rollball'],
+#         data['utime'], 1, data['number'], data['expire_time']))
+#
+#
+# def get_pcodes(corner_ball, code):
+#     code_dict = {'concede_size': 1, 'capot': 2, 'two_sides': 3, 'total_goal': 4, 'half_full': 5, 'bodan': 6,
+#                  'first_last_ball': 7, 'temaball': 11}
+#     if corner_ball == "角球":
+#         p_code = "corner_ball"
+#         p_id = 9
+#     elif corner_ball == "会晋级":
+#         p_code = "promotion"
+#         p_id = 10
+#     elif corner_ball == "罚牌数":
+#         p_code = "Penalty_card"
+#         p_id = 12
+#     else:
+#         p_code = code
+#         p_id = code_dict[code]
+#     return p_code, p_id
+#
+#
+# def news_times(ctime):
+#     time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
+#     time2 = time.localtime(time1)
+#     time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
+#     time4 = time3
+#     data_time = str(time4).split(" ")
+#     match_date = data_time[0]
+#     match_time = data_time[1]
+#     return match_date, match_time, time3
+
+# def new_times(ctime):
+#     time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
+#     time2 = time.localtime(time1)
+#     time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
+#     data_time = str(time3).split(" ")
+#     match_date = data_time[0]
+#     match_time = data_time[1]
+#     return match_date,match_time

+ 24 - 0
hg3535/items.py

@@ -474,3 +474,27 @@ class Bangqiustatus(scrapy.Field):
     update_time = scrapy.Field()
     ball_type = scrapy.Field()
     zuqiu_toal = scrapy.Field()
+
+
+# -----------------------------------------------------------足球比赛结果------------------------------------------------
+class Zujieguo(scrapy.Field):
+    # 足球比赛结果元组
+    id_score = scrapy.Field()
+
+
+# -----------------------------------------------------------篮球比赛结果------------------------------------------------
+class Lanjieguo(scrapy.Field):
+    # 篮球比赛结果元组
+    id_score = scrapy.Field()
+
+
+# -----------------------------------------------------------网球比赛结果------------------------------------------------
+class Wangjieguo(scrapy.Field):
+    # 网球比赛结果元组
+    id_score = scrapy.Field()
+
+
+# -----------------------------------------------------------棒球比赛结果------------------------------------------------
+class Bangjieguo(scrapy.Field):
+    # 网球比赛结果元组
+    id_score = scrapy.Field()

+ 0 - 10
hg3535/kaishi.py

@@ -1,10 +0,0 @@
-import scrapy
-from scrapy.crawler import CrawlerProcess
-
-from .spiders.lanqiu import LanqiuSpider
-from .spiders.zuqiu import ZuqiuSpider
-
-process = CrawlerProcess()
-process.crawl(ZuqiuSpider)
-process.crawl(LanqiuSpider)
-process.start()

+ 5 - 2
hg3535/main.py

@@ -11,10 +11,13 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
 # execute(["scrapy", "crawl", "wangqiu"])
 # execute(["scrapy", "crawl", "wqbodan"])
 # execute(["scrapy", "crawl", "bangqiu"])
-execute(["scrapy", "crawl", "roll_zuqiu"]) #滚球足球 回来要解开这个注释 其他全部解封
+# execute(["scrapy", "crawl", "roll_zuqiu"]) #滚球足球 回来要解开这个注释 其他全部解封
 # execute(["scrapy", "crawl", "roll_lanqiu"]) #滚球篮球
 # execute(["scrapy", "crawl", "roll_wangqiu"]) #滚球网球
 # execute(["scrapy", "crawl", "roll_bangqiu"]) #滚球棒球
 # execute(["scrapy", "crawl", "ball_status"]) #滚球id本地存
 # execute(["scrapy", "crawl", "ball_status_update"]) #滚球id结束时间更新状态
-# execute(["scrapy", "crawl", "hgjieshu"]) #滚球id结束时间更新状态
+# execute(["scrapy", "crawl", "zq_jieshu"]) #滚球id结束时间更新状态
+execute(["scrapy", "crawl", "lq_jieshu"]) #滚球id结束时间更新状态
+# execute(["scrapy", "crawl", "wq_jieshu"]) #滚球id结束时间更新状态
+# execute(["scrapy", "crawl", "bq_jieshu"]) #滚球id结束时间更新状态

+ 0 - 23
hg3535/main_notroll.py

@@ -1,23 +0,0 @@
-import time
-import os
-import sys
-
-
-can = sys.argv[1]
-
-if can == 'notroll':
-    while True:
-        os.system("scrapy crawl zuqiu")
-        time.sleep(4)
-        os.system("scrapy crawl wqbodan")
-        time.sleep(4)
-        os.system("scrapy crawl wangqiu")
-        time.sleep(4)
-        os.system("scrapy crawl lanqiu")
-        time.sleep(4)
-        os.system("scrapy crawl liansai")
-        time.sleep(4)
-        os.system("scrapy crawl guanjun")
-        time.sleep(4)
-        os.system("scrapy crawl bangqiu")
-        time.sleep(180)

+ 14 - 4
hg3535/main_time.py

@@ -17,10 +17,20 @@ can = sys.argv[1]
 if can == 'roll':
     while True:
         os.system("scrapy crawl roll_zuqiu")
-        time.sleep(3)
-        os.system("scrapy crawl ball_status")
-        time.sleep(3)
-        os.system("scrapy crawl ball_status_update")
+        time.sleep(2)
+        os.system("scrapy crawl zq_jieshu")
+        time.sleep(2)
+        os.system("scrapy crawl roll_lanqiu")
+        time.sleep(2)
+        os.system("scrapy crawl lq_jieshu")
+        time.sleep(2)
+        os.system("scrapy crawl roll_wangqiu")
+        time.sleep(2)
+        os.system("scrapy crawl wq_jieshu")
+        time.sleep(2)
+        os.system("scrapy crawl roll_bangqiu")
+        time.sleep(2)
+        os.system("scrapy crawl bq_jieshu")
         time.sleep(30)
 
 if can == 'notroll':

+ 0 - 0
hg3535/pip


文件差异内容过多而无法显示
+ 107 - 690
hg3535/pipelines.py


+ 0 - 0
hg3535/scrapy-magicfields)


二进制
hg3535/spiders/__pycache__/bangqiu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/bq_jieshu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/hg3535_bangqiu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/hg3535_lanqiu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/hg3535_wangqiu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/hg3535_zq_status.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/hg3535_zq_status_up.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/hg3535_zuqiu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/hgjieshu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/lanqiu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/liansai.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/lq_jieshu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/wq_jieshu.cpython-36.pyc


二进制
hg3535/spiders/__pycache__/zq_jieshu.cpython-36.pyc


+ 1 - 0
hg3535/spiders/bangqiu.py

@@ -195,6 +195,7 @@ class BqrangqiuSpider(scrapy.Spider):
                         odd_evens_dict['two_sides_single'] = ""
                         odd_evens_dict_rule['two_sides_double'] = ""
                         odd_evens_dict_rule['two_sides_double'] = ""
+# 球队得分大小  待采集----------------------------------------------------------------------------------------------------
 
                     # 联赛id
                     item['league_id'] = league_id

+ 61 - 0
hg3535/spiders/bq_jieshu.py

@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+import datetime
+import re
+
+import scrapy
+
+from ..items import Bangjieguo
+
+
+class HgjieshuSpider(scrapy.Spider):
+    name = 'bq_jieshu'
+    to_day = datetime.datetime.now()
+    allowed_domains = ['hg3535z.com']
+    custom_settings = {
+        "ITEM_PIPELINES":{
+            'hg3535.pipelines.Bangjieshuqiupipeline': 300,
+        },
+        'LOG_LEVEL': 'DEBUG',
+        'LOG_FILE': "../hg3535/log/bq_jieshu_{}_{}_{}.log".format(to_day.year, to_day.month, to_day.day)
+    }
+    start_urls = ['https://hg3535z.com/zh-cn/info-centre/sportsbook-info/results/4/normal/1']
+
+    def parse(self, response):
+        if response.status == 200:
+            # 所有比赛对象
+            # tema = response.xpath('//div[@class="rt-event"]//span[@class="pt"]/text()')
+            # print(tema)
+            # 所有比赛队名
+            # tema_name = [i.extract() for i in tema]
+            # 获得所有比分对象
+            tema_score = response.xpath('//div[contains(@class,"rt-ft")]')
+            # 获得所有比赛id对象
+            tema_id = response.xpath('//div[@class="flex-wrap"]/../div[1]/@id')
+            # str.replace()
+            # 所有比赛id列表
+            temaid_list = [i.extract().replace('e-', "") for i in tema_id]
+            temascore_list = []
+            for score in tema_score:
+                # 正则匹配规则
+                p1 = r"\d{1,3}-\d{1,3}"
+                pattern1 = re.compile(p1)
+                try:
+                    # 获取正则匹配结果
+                    c = pattern1.findall(score.extract())[0]
+                    temascore_list.append(c)
+                except:
+                    c = ""
+                    temascore_list.append(c)
+            print(temaid_list)
+            print(temascore_list)
+            print(len(temaid_list))
+            print(len(temascore_list))
+            # 赛事id,赛事比元组列表
+            tema_tupe = [(temaid_list[i], temascore_list[i]) for i in range(len(temaid_list))]
+            print(tema_tupe)
+            print(len(tema_tupe))
+            for y in tema_tupe:
+                if y[1]:
+                    item = Bangjieguo()
+                    item['id_score'] = y
+                    yield item

+ 0 - 226
hg3535/spiders/hg3535_zq_status.py

@@ -1,226 +0,0 @@
-# -*- coding: utf-8 -*-
-import json
-
-import jsonpath
-import scrapy
-import time
-from scrapy.http import Request
-import psycopg2
-import time
-# import datetime
-from functools import wraps
-from contextlib import contextmanager
-import psycopg2.extras
-
-from ..items import Zuqiustatus
-
-import json
-from datetime import datetime
-from datetime import date
-import itertools
-
-
-# 测试一个函数的运行时间,使用方式:在待测函数直接添加此修饰器
-def timethis(func):
-    @wraps(func)
-    def wrapper(*args, **kwargs):
-        start = time.perf_counter()
-        r = func(*args, **kwargs)
-        end = time.perf_counter()
-        print('\n============================================================')
-        print('{}.{} : {}'.format(func.__module__, func.__name__, end - start))
-        print('============================================================\n')
-        return r
-    return wrapper
-
-
-# 测试一段代码运行的时间,使用方式:上下文管理器with
-# with timeblock('block_name'):
-#     your_code_block...
-@contextmanager
-def timeblock(label='Code'):
-    start = time.perf_counter()
-    try:
-        yield
-    finally:
-        end = time.perf_counter()
-        print('==============================================================')
-        print('{} run time: {}'.format(label, end - start))
-        print('==============================================================')
-
-
-class SqlConn():
-    '''
-    连接数据库,以及进行一些操作的封装
-    '''
-    sql_name = ''
-    database = ''
-    user = ''
-    password = ''
-    port = 0
-    host = ''
-
-    # 创建连接、游标
-    def __init__(self, *args, **kwargs):
-        if kwargs.get("sql_name"):
-            self.sql_name = kwargs.get("sql_name")
-        if kwargs.get("database"):
-            self.database = kwargs.get("database")
-        if kwargs.get("user"):
-            self.user = kwargs.get("user")
-        if kwargs.get("password"):
-            self.password = kwargs.get("password")
-        if kwargs.get("port"):
-            self.port = kwargs.get("port")
-        if kwargs.get("host"):
-            self.host = kwargs.get("host")
-
-        if not (self.host and self.port and self.user and
-                self.password and self.database):
-            raise Warning("conn_error, missing some params!")
-
-        sql_conn = {
-                    'postgresql': psycopg2,
-                    }
-
-        self.conn = sql_conn[self.sql_name].connect(host=self.host,
-                                                    port=self.port,
-                                                    user=self.user,
-                                                    password=self.password,
-                                                    database=self.database,
-                                                    )
-        self.cursor = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
-        if not self.cursor:
-            raise Warning("conn_error!")
-
-    # 测试连接
-    def test_conn(self):
-        if self.cursor:
-            print("conn success!")
-        else:
-            print('conn error!')
-
-    # 单条语句的并提交
-    def execute(self, sql_code):
-        self.cursor.execute(sql_code)
-        self.conn.commit()
-
-    # 单条语句的不提交
-    def execute_no_conmmit(self, sql_code):
-        self.cursor.execute(sql_code)
-
-    # 构造多条语句,使用%s参数化,对于每个list都进行替代构造
-    def excute_many(self, sql_base, param_list):
-        self.cursor.executemany(sql_base, param_list)
-
-    # 批量执行(待完善)
-    def batch_execute(self, sql_code):
-        pass
-
-    # 获取数据
-    def get_data(self, sql_code, count=0):
-        self.cursor.execute(sql_code)
-        if int(count):
-            return self.cursor.fetchmany(count)
-        else:
-            return self.cursor.fetchall()
-
-    # 更新数据
-    def updata_data(self, sql_code):
-        self.cursor(sql_code)
-
-    # 插入数据
-    def insert_data(self, sql_code):
-        self.cursor(sql_code)
-
-    # 滚动游标
-    def cursor_scroll(self, count, mode='relative'):
-        self.cursor.scroll(count, mode=mode)
-
-    # 提交
-    def commit(self):
-        self.conn.commit()
-
-    # 回滚
-    def rollback(self):
-        self.conn.rollback()
-
-    # 关闭连接
-    def close_conn(self):
-        self.cursor.close()
-        self.conn.close()
-
-class ComplexEncoder(json.JSONEncoder):
-    def default(self, obj):
-        if isinstance(obj, datetime):
-            return obj.strftime('%Y-%m-%d %H:%M:%S')
-        elif isinstance(obj, date):
-            return obj.strftime('%Y-%m-%d')
-        else:
-            return json.JSONEncoder.default(self, obj)
-
-
-
-
-
-
-
-
-class LanqiuSpider(scrapy.Spider):
-    name = "ball_status"
-    allowed_domains = ['hg3535z.com']
-    to_day = datetime.now()
-    #sid要改为1 足球 现在测试改为4
-    start_urls = ['https://hg3535z.com/odds2/d/getodds?sid=1&pt=4&ubt=am&pn=0&sb=2&dc=null&pid=0'] # 滚球菜单 篮球滚球列url
-    custom_settings = {
-        "ITEM_PIPELINES": {
-            'hg3535.pipelines.BallStatuspipeline':200,
-        },
-        'LOG_LEVEL': 'DEBUG',
-        'LOG_FILE': "../hg3535/log/ball_status_{}_{}_{}.log".format(to_day.year, to_day.month, to_day.day)
-    }
-
-    def parse(self, response):
-        datas = json.loads(response.text)
-        ids = jsonpath.jsonpath(datas, '$..i-ot[0]..egs..es..i[16]') # ids新列表
-        item = Zuqiustatus()
-        utime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
-        # zuqiu_total = {}
-        zuqiu_status_list = []
-        if ids:
-            ids = set(ids)
-            for i in ids:
-                zuqiu = {}
-                zuqiu['match_id'] = i
-                zuqiu['create_time'] = utime
-                zuqiu['status'] = 1
-                zuqiu['ball_type'] = datas['i-ot'][0]['s']['n']
-                zuqiu_status_list.append(zuqiu)
-            item["zuqiu_total"] = zuqiu_status_list
-            yield item
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 271
hg3535/spiders/hg3535_zq_status_up.py

@@ -1,271 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import jsonpath
-import scrapy
-from scrapy.http import Request
-import psycopg2
-import time
-from functools import wraps
-from contextlib import contextmanager
-import psycopg2.extras
-
-from scrapy.conf import settings
-import json
-from datetime import datetime
-from datetime import date
-import itertools
-import re
-from scrapy.xlib.pydispatch import dispatcher
-from scrapy import signals
-
-
-
-# 测试一个函数的运行时间,使用方式:在待测函数直接添加此修饰器
-def timethis(func):
-    @wraps(func)
-    def wrapper(*args, **kwargs):
-        start = time.perf_counter()
-        r = func(*args, **kwargs)
-        end = time.perf_counter()
-        print('\n============================================================')
-        print('{}.{} : {}'.format(func.__module__, func.__name__, end - start))
-        print('============================================================\n')
-        return r
-    return wrapper
-
-
-# 测试一段代码运行的时间,使用方式:上下文管理器with
-# with timeblock('block_name'):
-#     your_code_block...
-@contextmanager
-def timeblock(label='Code'):
-    start = time.perf_counter()
-    try:
-        yield
-    finally:
-        end = time.perf_counter()
-        print('==============================================================')
-        print('{} run time: {}'.format(label, end - start))
-        print('==============================================================')
-
-
-class SqlConn():
-    '''
-    连接数据库,以及进行一些操作的封装
-    '''
-    sql_name = ''
-    database = ''
-    user = ''
-    password = ''
-    port = 0
-    host = ''
-
-    # 创建连接、游标
-    def __init__(self, *args, **kwargs):
-        if kwargs.get("sql_name"):
-            self.sql_name = kwargs.get("sql_name")
-        if kwargs.get("database"):
-            self.database = kwargs.get("database")
-        if kwargs.get("user"):
-            self.user = kwargs.get("user")
-        if kwargs.get("password"):
-            self.password = kwargs.get("password")
-        if kwargs.get("port"):
-            self.port = kwargs.get("port")
-        if kwargs.get("host"):
-            self.host = kwargs.get("host")
-
-        if not (self.host and self.port and self.user and
-                self.password and self.database):
-            raise Warning("conn_error, missing some params!")
-
-        sql_conn = {
-                    'postgresql': psycopg2,
-                    }
-
-        self.conn = sql_conn[self.sql_name].connect(host=self.host,
-                                                    port=self.port,
-                                                    user=self.user,
-                                                    password=self.password,
-                                                    database=self.database,
-                                                    )
-        self.cursor = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
-        # self.cursor = self.conn.cursor()
-
-        if not self.cursor:
-            raise Warning("conn_error!")
-
-    # 测试连接
-    def test_conn(self):
-        if self.cursor:
-            print("conn success!")
-        else:
-            print('conn error!')
-
-    # 单条语句的并提交
-    def execute(self, sql_code):
-        self.cursor.execute(sql_code)
-        self.conn.commit()
-
-    # 单条语句的不提交
-    def execute_no_conmmit(self, sql_code):
-        self.cursor.execute(sql_code)
-
-    # 构造多条语句,使用%s参数化,对于每个list都进行替代构造
-    def excute_many(self, sql_base, param_list):
-        self.cursor.executemany(sql_base, param_list)
-
-    # 批量执行(待完善)
-    def batch_execute(self, sql_code):
-        pass
-
-    # 获取数据
-    def get_data(self, sql_code, count=0):
-        self.cursor.execute(sql_code)
-        if int(count):
-            return self.cursor.fetchmany(count)
-        else:
-            return self.cursor.fetchall()
-
-    # 更新数据
-    def updata_data(self, sql_code):
-        self.cursor.execute(sql_code)
-
-    # 插入数据
-    def insert_data(self, sql_code):
-        self.cursor(sql_code)
-
-    # 滚动游标
-    def cursor_scroll(self, count, mode='relative'):
-        self.cursor.scroll(count, mode=mode)
-
-    # 提交
-    def commit(self):
-        self.conn.commit()
-
-    # 回滚
-    def rollback(self):
-        self.conn.rollback()
-
-    # 关闭连接
-    def close_conn(self):
-        self.cursor.close()
-        self.conn.close()
-
-class ComplexEncoder(json.JSONEncoder):
-    def default(self, obj):
-        if isinstance(obj, datetime):
-            return obj.strftime('%Y-%m-%d %H:%M:%S')
-        elif isinstance(obj, date):
-            return obj.strftime('%Y-%m-%d')
-        else:
-            return json.JSONEncoder.default(self, obj)
-
-
-
-
-
-
-
-
-class LanqiuSpider(scrapy.Spider):
-    def __init__(self):
-        super(LanqiuSpider).__init__()
-        #信号量
-        dispatcher.connect(self.spider_closed, signals.spider_closed)
-        self.conn = SqlConn(sql_name='postgresql',host=settings["POST_HOST"], port=settings['POST_PORT'], user=settings["POST_USER"],password=settings["POST_PASSWORD"],database=settings["POST_DATABASE"])
-
-
-
-    name = "ball_status_update"
-    allowed_domains = ['hg3535z.com']
-    #sid要改为1 足球 现在测试改为4
-    start_urls = ['https://hg3535z.com/odds2/d/getodds?sid=3&pt=4&ubt=am&pn=0&sb=2&dc=null&pid=0'] # 滚球菜单 篮球滚球列url
-    def parse(self, response):
-        b = self.conn.get_data("select match_id from st_ball_status where ball_type='足球'")
-        d = list(itertools.chain(*b))
-        for i in d:
-            urls = 'https://hg3535z.com/odds2/d/getamodds?eid={}&iip=true&ubt=am&isp=false'.format(i)
-            yield Request(url=urls,callback=self.parse_each, dont_filter=True)
-
-    #取得url中的id字段
-    def re_str(self,url_str):
-        a = (re.findall(r"eid=(.+?)&",url_str))
-        result = "".join(a)
-        return result
-
-    def parse_each(self,response):
-        if response.text != "null":
-            res = json.loads(response.text)
-            res1 = jsonpath.jsonpath(res,'$..eg..es[:]..o')
-            if len(res1) > 1:
-                print("这是有角球啊")
-                o_dict0 = res1[0]  # 递归取o字典
-                o_dict1 = res1[1]
-                re_url = response.request.url
-                res_id = self.re_str(re_url)
-                print("我是角球id是")
-                print(res_id)
-                if o_dict0 or o_dict1:
-                    print("这不是个空字典")
-                    print("我不做任何操作的啊")
-            else:
-                o_dict0 = res1[0]
-                if not o_dict0:
-                    print("这是空字典我要改状态")
-                    re_url = response.request.url
-                    res_id = self.re_str(re_url)
-                    print(res_id)
-                    utime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
-                    self.conn.updata_data("update st_ball_status  set status=0, update_time='{0}' where match_id={1}".format(utime,res_id))
-                    self.conn.updata_data("update st_zq_result set status=2  where match_id={}".format(res_id))
-                    self.conn.updata_data("update st_zq_result_record set status=2  where match_id={}".format(res_id))
-                    self.conn.updata_data("update st_zq_competition set status=2  where match_id={}".format(res_id))
-
-                    self.conn.commit()
-
-        if response.text == "null":
-            print("暂时没有数据")
-            re_url = response.request.url
-            res_id = self.re_str(re_url)
-            print(res_id)
-            utime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
-            self.conn.updata_data("update st_ball_status  set status=0, update_time='{0}' where match_id={1}".format(utime,res_id))
-            sql1 = "insert into comendnotice(status, game_code, match_id,done_time) values (%s,%s, %s, %s) on conflict(match_id) do update set done_time = %s"
-            self.conn.cursor.execute(sql1,(0,'zq',res_id,utime,utime))
-            self.conn.updata_data("update st_zq_result set status=2  where match_id={}".format(res_id))
-            self.conn.updata_data("update st_zq_result_record set status=2  where match_id={}".format(res_id))
-            self.conn.updata_data("update st_zq_competition set status=2  where match_id={}".format(res_id))
-            # cursor.execute(sql1, (match_id, create_time,staus,update_time, ball_type,update_time))
-
-            self.conn.commit()
-
-    def spider_closed(self, spider):
-        print("我要关闭了")
-        self.conn.close_conn()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 57
hg3535/spiders/hgjieshu.py

@@ -1,57 +0,0 @@
-# -*- coding: utf-8 -*-
-# import re
-
-import scrapy
-
-
-class HgjieshuSpider(scrapy.Spider):
-    name = 'hgjieshu'
-    allowed_domains = ['hg3535z.com']
-    start_urls = ['https://hg3535z.com/zh-cn/info-centre/sportsbook-info/results/1/normal/1']
-
-    def parse(self, response):
-        # a = response.xpath('//*[@id="dt-cmp-66148"]/div[1]/div[3]/span[3]/text()')[0].extract_first()
-        if response.status == 200:
-            tema = response.xpath('//div[@class="rt-event"]//span[@class="pt"]/text()')
-            # print(tema)
-            aa = [i.extract() for i in tema ]
-
-            # b = response.xpath('//div[@class="rt-ft "]/text()')  #比分
-            b = response.xpath('//div[contains(@class,"rt-ft")]')#比分')]/text()')  #比分
-            # print(b)
-            # for i in tema:
-            #     print(i.extract())
-            #     c = i.xpath('//div/text()')
-            #     # yield c
-            #     i = i.extract()
-            #     print(i)
-            # aa = [(x, y, z.extract().split('">')[1].split('</')[0].strip())for x in tema if x % 2 == 0 for y in tema if x % 2 == 1 for z in b]
-            cc = [z.extract().split('">')[1].split('</')[0].strip() for z in b]
-            print(cc)
-            # dd = [(aa[x], aa[y], z) for x in range(len(aa)) if x % 2 == 0 for y in range(len(aa)) if y % 2 == 1 for z in cc]
-            print(cc)
-            print(len(cc))
-            print(len(tema))
-            print(len(aa))
-            print(aa)
-            # print(dd)
-                # print(type(cc))
-                # break
-
-                # i = i
-                # yield i
-                # print(i.extract())
-                # c = i.xpath()
-                # print(i.xpath('//div/text()'))
-                # print(type(i.extract()))
-            # d = i.xpath('//div/text()')
-
-            # print(c)
-            # print(a)
-            # print(len(a))
-            # # print(b)
-            # print(len(b))
-            # for e in d:
-            #     print(e)
-
-            pass

+ 2 - 2
hg3535/spiders/lanqiu.py

@@ -452,7 +452,7 @@ class LanqiuSpider(scrapy.Spider):
             last_numbers_dict = {}
             try:
                 last_numbers = result["p-o"][0]['o']
-                last_home = {last_numbers[0][0]: last_numbers[0][2], last_numbers[0][1]: last_numbers[1][2],
+                last_home = {last_numbers[0][0]: last_numbers[0][2], last_numbers[1][0]: last_numbers[1][2],
                              last_numbers[2][0]: last_numbers[2][2], last_numbers[3][0]: last_numbers[3][2],
                              last_numbers[4][0]: last_numbers[4][2]}
                 # if last_numbers:
@@ -464,7 +464,7 @@ class LanqiuSpider(scrapy.Spider):
             # 球队得分最后一位数 客队
             try:
                 new_last_numbers = result["p-o"][1]['o']
-                last_guest = {new_last_numbers[0][0]: new_last_numbers[0][2], new_last_numbers[0][1]: new_last_numbers[1][2],
+                last_guest = {new_last_numbers[0][0]: new_last_numbers[0][2], new_last_numbers[1][0]: new_last_numbers[1][2],
                               new_last_numbers[2][0]: new_last_numbers[2][2], new_last_numbers[3][0]: new_last_numbers[3][2],
                               new_last_numbers[4][0]: new_last_numbers[4][2]}
                 # if new_last_numbers:

+ 62 - 0
hg3535/spiders/lq_jieshu.py

@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+import datetime
+import re
+
+import scrapy
+
+from ..items import Lanjieguo
+
+
+class HgjieshuSpider(scrapy.Spider):
+    name = 'lq_jieshu'
+    to_day = datetime.datetime.now()
+    allowed_domains = ['hg3535z.com']
+    custom_settings = {
+        "ITEM_PIPELINES":{
+            'hg3535.pipelines.Lanjieshuqiupipeline': 300,
+        },
+        'LOG_LEVEL': 'DEBUG',
+        'LOG_FILE': "../hg3535/log/lq_jieshu_{}_{}_{}.log".format(to_day.year, to_day.month, to_day.day)
+    }
+    start_urls = ['https://hg3535z.com/zh-cn/info-centre/sportsbook-info/results/2/normal/1']
+
+    def parse(self, response):
+        if response.status == 200:
+            # 所有比赛对象
+            # tema = response.xpath('//div[@class="rt-event"]//span[@class="pt"]/text()')
+            # print(tema)
+            # 所有比赛队名
+            # tema_name = [i.extract() for i in tema]
+            # 获得所有比分对象
+            tema_score = response.xpath('//div[contains(@class,"rt-qft")]')
+            # 获得所有比赛id对象
+            tema_id = response.xpath('//div[@class="flex-wrap"]/../div[1]/@id')
+            # str.replace()
+            # 所有比赛id列表
+            temaid_list = [i.extract().replace('e-', "") for i in tema_id]
+            temascore_list = []
+            for score in tema_score:
+                # 正则匹配规则
+                p1 = r"\d{1,3}-\d{1,3}"
+                pattern1 = re.compile(p1)
+                try:
+                    # 获取正则匹配结果
+                    c = pattern1.findall(score.extract())[0]
+                    temascore_list.append(c)
+                except:
+                    c = ""
+                    temascore_list.append(c)
+            # print(temaid_list)
+            # print(temascore_list)
+            # print(len(temaid_list))
+            # print(len(temascore_list))
+            # 赛事id,赛事比元组列表
+            tema_tupe = [(temaid_list[i], temascore_list[i]) for i in range(len(temaid_list))]
+            # print(tema_tupe)
+            # print(len(tema_tupe))
+            for y in tema_tupe:
+                if y[1]:
+                    item = Lanjieguo()
+                    item['id_score'] = y
+                    yield item
+

+ 3 - 11
hg3535/spiders/hg3535_bangqiu.py → hg3535/spiders/roll_bangqiu.py

@@ -16,7 +16,6 @@ from scrapy.http import Request
 from ..items import Roll_Bangqiu
 
 
-
 class BqrangqiuSpider(scrapy.Spider):
     name = 'roll_bangqiu'
     to_day = datetime.datetime.now()
@@ -46,8 +45,7 @@ class BqrangqiuSpider(scrapy.Spider):
             for i in ids:
                 urls = 'https://hg3535z.com/odds2/d/getamodds?eid={}&iip=true&ubt=am&isp=false'.format(i)
                 print(urls)
-                yield Request(url=urls, callback=self.parse_each)
-
+                yield Request(url=urls, callback=self.parse_each, dont_filter=True)
 
     def parse_each(self, response):
         datas = json.loads(response.text)
@@ -112,12 +110,6 @@ class BqrangqiuSpider(scrapy.Spider):
                     d['ps'] = ps_list
                     d['ot'] = ot
                     pass
-
-
-
-
-
-
 # --------------------------------------------------让球分割线-----------------------------------------------------------
                     concedes_dict = {}
                     concedes_dict_rule = {}
@@ -189,9 +181,9 @@ class BqrangqiuSpider(scrapy.Spider):
                         odd_evens = result['o']["oe"]["v"]
                         # 上半场 主队让球条件
                         odd_evens_dict['two_sides_single'] = odd_evens[1]
-                        odd_evens_dict_rule['two_sides_single'] = "single"
+                        odd_evens_dict_rule['two_sides_single'] = ""
                         odd_evens_dict['two_sides_double'] = odd_evens[3]
-                        odd_evens_dict_rule['two_sides_double'] = "double"
+                        odd_evens_dict_rule['two_sides_double'] = ""
 
                     except:
                         odd_evens_dict['two_sides_single'] = ""

+ 1 - 2
hg3535/spiders/hg3535_lanqiu.py → hg3535/spiders/roll_lanqiu.py

@@ -60,8 +60,7 @@ class LanqiuSpider(scrapy.Spider):
             for i in ids:
                 urls = 'https://hg3535z.com/odds2/d/getamodds?eid={}&iip=true&ubt=am&isp=false'.format(i)
                 print(urls)
-                yield Request(url=urls, callback=self.parse_other)
-
+                yield Request(url=urls, callback=self.parse_other, dont_filter=True)
 
     def parse_other(self,response):
         new_datas = json.loads(response.text).get('eg', "")

+ 0 - 0
hg3535/spiders/hg3535_wangqiu.py → hg3535/spiders/roll_wangqiu.py


+ 0 - 0
hg3535/spiders/hg3535_zuqiu.py → hg3535/spiders/roll_zuqiu.py


+ 1 - 0
hg3535/spiders/wangqiu.py

@@ -150,6 +150,7 @@ class LanqiuSpider(scrapy.Spider):
                     bureaus_dict['concede_guest'] = ""
 
 # -----------------------------------------------------总局数:大/小------------------------------------------------------
+# 总局数大小第一盘 未采集
                 total_number_dict = {}
                 total_number_dict_rule = {}
                 try:

+ 61 - 0
hg3535/spiders/wq_jieshu.py

@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+import datetime
+import re
+
+import scrapy
+
+from ..items import Wangjieguo
+
+
+class HgjieshuSpider(scrapy.Spider):
+    name = 'wq_jieshu'
+    to_day = datetime.datetime.now()
+    allowed_domains = ['hg3535z.com']
+    custom_settings = {
+        "ITEM_PIPELINES":{
+            'hg3535.pipelines.Wangjieshuqiupipeline': 300,
+        },
+        'LOG_LEVEL': 'DEBUG',
+        'LOG_FILE': "../hg3535/log/wq_jieshu_{}_{}_{}.log".format(to_day.year, to_day.month, to_day.day)
+    }
+    start_urls = ['https://hg3535z.com/zh-cn/info-centre/sportsbook-info/results/3/normal/1']
+
+    def parse(self, response):
+        if response.status == 200:
+            # 所有比赛对象
+            # tema = response.xpath('//div[@class="rt-event"]//span[@class="pt"]/text()')
+            # print(tema)
+            # 所有比赛队名
+            # tema_name = [i.extract() for i in tema]
+            # 获得所有比分对象
+            tema_score = response.xpath('//div[contains(@class,"rt-set")]')
+            # 获得所有比赛id对象
+            tema_id = response.xpath('//div[@class="flex-wrap"]/../div[1]/@id')
+            # str.replace()
+            # 所有比赛id列表
+            temaid_list = [i.extract().replace('e-', "") for i in tema_id]
+            temascore_list = []
+            for score in tema_score:
+                # 正则匹配规则
+                p1 = r"\d{1,3}-\d{1,3}"
+                pattern1 = re.compile(p1)
+                try:
+                    # 获取正则匹配结果
+                    c = pattern1.findall(score.extract())[0]
+                    temascore_list.append(c)
+                except:
+                    c = ""
+                    temascore_list.append(c)
+            # print(temaid_list)
+            # print(temascore_list)
+            # print(len(temaid_list))
+            # print(len(temascore_list))
+            # 赛事id,赛事比元组列表
+            tema_tupe = [(temaid_list[i], temascore_list[i]) for i in range(len(temaid_list))]
+            # print(tema_tupe)
+            # print(len(tema_tupe))
+            for y in tema_tupe:
+                if y[1]:
+                    item = Wangjieguo()
+                    item['id_score'] = y
+                    yield item

+ 63 - 0
hg3535/spiders/zq_jieshu.py

@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+# import re
+import datetime
+import re
+
+import scrapy
+
+from ..items import Zujieguo
+
+
+class HgjieshuSpider(scrapy.Spider):
+    name = 'zq_jieshu'
+    to_day = datetime.datetime.now()
+    allowed_domains = ['hg3535z.com']
+    custom_settings = {
+        "ITEM_PIPELINES":{
+            'hg3535.pipelines.Zujieshuqiupipeline': 300,
+        },
+        'LOG_LEVEL': 'DEBUG',
+        'LOG_FILE': "../hg3535/log/zq_jieshu_{}_{}_{}.log".format(to_day.year, to_day.month, to_day.day)
+    }
+    start_urls = ['https://hg3535z.com/zh-cn/info-centre/sportsbook-info/results/1/normal/1']
+
+    def parse(self, response):
+        if response.status == 200:
+            # 所有比赛对象
+            # tema = response.xpath('//div[@class="rt-event"]//span[@class="pt"]/text()')
+            # print(tema)
+            # 所有比赛队名
+            # tema_name = [i.extract() for i in tema]
+            # 获得所有比分对象
+            tema_score = response.xpath('//div[contains(@class,"rt-ft")]')
+            # 获得所有比赛id对象
+            tema_id = response.xpath('//div[@class="flex-wrap"]/../div[1]/@id')
+            # str.replace()
+            # 所有比赛id列表
+            temaid_list = [i.extract().replace('e-', "") for i in tema_id]
+            temascore_list = []
+            for score in tema_score:
+                # 正则匹配规则
+                p1 = r"\d{1,3}-\d{1,3}"
+                pattern1 = re.compile(p1)
+                try:
+                    # 获取正则匹配结果
+                    c = pattern1.findall(score.extract())[0]
+                    temascore_list.append(c)
+                except:
+                    c = ""
+                    temascore_list.append(c)
+            # print(temaid_list)
+            # print(temascore_list)
+            # print(len(temaid_list))
+            # print(len(temascore_list))
+            # 赛事id,赛事比元组列表
+            tema_tupe = [(temaid_list[i], temascore_list[i]) for i in range(len(temaid_list))]
+            # print(tema_tupe)
+            # print(len(tema_tupe))
+
+            for y in tema_tupe:
+                if y[1]:
+                    item = Zujieguo()
+                    item['id_score'] = y
+                    yield item

部分文件因为文件数量过多而无法显示