测试版2.0

This commit is contained in:
ForgQi committed 2018-01-24 01:33:11 +08:00
1 parent c83755bf4f
commit 0bfca07bc0
5 files changed
+143 -70

No files matched your search

+1
View File
@@ -7,3 +7,4 @@ chromedriver.exe
chromedriver.log
external.py
*.mp4
AUTO.log
+101 -64
View File
@@ -2,9 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="58acc6c6-8ea5-48bb-95b2-31fcec9a4358" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/download.py" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/start.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/download.py" afterPath="$PROJECT_DIR$/download.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/start.py" afterPath="$PROJECT_DIR$/start.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/upload.py" afterPath="$PROJECT_DIR$/upload.py" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -19,8 +19,8 @@
<file leaf-file-name="upload.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/upload.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1202">
<caret line="118" column="10" lean-forward="true" selection-start-line="118" selection-start-column="10" selection-end-line="118" selection-end-column="10" />
<state relative-caret-position="4853">
<caret line="211" column="17" lean-forward="true" selection-start-line="211" selection-start-column="17" selection-end-line="211" selection-end-column="17" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
@@ -31,8 +31,8 @@
<file leaf-file-name="download.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/download.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="276">
<caret line="24" column="10" lean-forward="true" selection-start-line="24" selection-start-column="10" selection-end-line="24" selection-end-column="10" />
<state relative-caret-position="293">
<caret line="195" column="47" lean-forward="false" selection-start-line="195" selection-start-column="47" selection-end-line="195" selection-end-column="47" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
@@ -40,14 +40,12 @@
</provider>
</entry>
</file>
<file leaf-file-name="external.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/external.py">
<file leaf-file-name="AUTO.log" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/AUTO.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="253">
<caret line="290" column="12" lean-forward="false" selection-start-line="290" selection-start-column="12" selection-end-line="290" selection-end-column="12" />
<folding>
<element signature="e#0#39#0" expanded="true" />
</folding>
<state relative-caret-position="92">
<caret line="4" column="17" lean-forward="true" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
@@ -55,8 +53,8 @@
<file leaf-file-name="start.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/start.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="897">
<caret line="39" column="25" lean-forward="false" selection-start-line="39" selection-start-column="25" selection-end-line="39" selection-end-column="25" />
<state relative-caret-position="35">
<caret line="6" column="26" lean-forward="true" selection-start-line="6" selection-start-column="26" selection-end-line="6" selection-end-column="26" />
<folding>
<element signature="e#0#50#0" expanded="true" />
</folding>
@@ -64,6 +62,18 @@
</provider>
</entry>
</file>
<file leaf-file-name="external.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/external.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="253">
<caret line="290" column="12" lean-forward="false" selection-start-line="290" selection-start-column="12" selection-end-line="290" selection-end-column="12" />
<folding>
<element signature="e#0#39#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/youtube_dl/__init__.py">
<provider selected="true" editor-type-id="text-editor">
@@ -118,16 +128,6 @@
</provider>
</entry>
</file>
<file leaf-file-name="YoutubeDL.py" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/youtube_dl/YoutubeDL.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="40756">
<caret line="1875" column="38" lean-forward="false" selection-start-line="1875" selection-start-column="24" selection-end-line="1875" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
@@ -162,16 +162,17 @@
<list>
<option value="$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/youtube_dl/downloader/hls.py" />
<option value="$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/youtube_dl/downloader/external.py" />
<option value="$PROJECT_DIR$/external.py" />
<option value="$PROJECT_DIR$/AUTO.log" />
<option value="$PROJECT_DIR$/start.py" />
<option value="$PROJECT_DIR$/upload.py" />
<option value="$PROJECT_DIR$/external.py" />
<option value="$PROJECT_DIR$/download.py" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="1">
<option name="x" value="416" />
<option name="y" value="147" />
<component name="ProjectFrameBounds">
<option name="x" value="563" />
<option name="y" value="230" />
<option name="width" value="1352" />
<option name="height" value="879" />
</component>
@@ -222,7 +223,7 @@
</list>
</option>
</component>
<component name="RunManager" selected="Python.download">
<component name="RunManager" selected="Python.start">
<configuration name="download" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@@ -281,8 +282,8 @@
</list>
<recent_temporary>
<list size="2">
<item index="0" class="java.lang.String" itemvalue="Python.download" />
<item index="1" class="java.lang.String" itemvalue="Python.start" />
<item index="0" class="java.lang.String" itemvalue="Python.start" />
<item index="1" class="java.lang.String" itemvalue="Python.download" />
</list>
</recent_temporary>
</component>
@@ -303,7 +304,7 @@
<servers />
</component>
<component name="ToolWindowManager">
<frame x="416" y="147" width="1352" height="879" extended-state="1" />
<frame x="563" y="230" width="1352" height="879" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.27073553" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
@@ -311,7 +312,7 @@
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="true" show_stripe_button="true" weight="0.32968536" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" x="704" y="287" width="1187" height="559" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="true" show_stripe_button="true" weight="0.32968536" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" x="542" y="621" width="1143" height="251" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="false" show_stripe_button="true" weight="0.32968536" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" x="33" y="260" width="1274" height="433" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
@@ -325,6 +326,26 @@
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
</layout>
<layout-to-restore>
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="true" show_stripe_button="true" weight="0.32968536" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" x="704" y="287" width="1187" height="559" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="WINDOWED" visible="false" show_stripe_button="true" weight="0.32968536" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" x="33" y="260" width="1274" height="433" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.27073553" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
</layout-to-restore>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
@@ -584,36 +605,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/start.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="897">
<caret line="39" column="25" lean-forward="false" selection-start-line="39" selection-start-column="25" selection-end-line="39" selection-end-column="25" />
<folding>
<element signature="e#0#50#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/upload.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1202">
<caret line="118" column="10" lean-forward="true" selection-start-line="118" selection-start-column="10" selection-end-line="118" selection-end-column="10" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/download.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="276">
<caret line="24" column="10" lean-forward="true" selection-start-line="24" selection-start-column="10" selection-end-line="24" selection-end-column="10" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/external.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="253">
@@ -624,5 +615,51 @@
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/logging/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="20">
<caret line="1733" column="4" lean-forward="false" selection-start-line="1733" selection-start-column="4" selection-end-line="1733" selection-end-column="4" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/start.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="35">
<caret line="6" column="26" lean-forward="true" selection-start-line="6" selection-start-column="26" selection-end-line="6" selection-end-column="26" />
<folding>
<element signature="e#0#50#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/upload.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="4853">
<caret line="211" column="17" lean-forward="true" selection-start-line="211" selection-start-column="17" selection-end-line="211" selection-end-column="17" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/download.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="293">
<caret line="195" column="47" lean-forward="false" selection-start-line="195" selection-start-column="47" selection-end-line="195" selection-end-column="47" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/AUTO.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="92">
<caret line="4" column="17" lean-forward="true" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
</component>
</project>
+33 -4
View File
@@ -3,7 +3,7 @@ from upload import upload, get_file
from datetime import datetime, timedelta, timezone
from multiprocessing import Process,Manager,Queue
import os
import asyncio
import logging
import psutil
import requests
import json
@@ -27,8 +27,12 @@ links_id = {
headers = {
'client-id':'jzkbprff40iqj646a697cyrvl0zt2m6'
}
logger = logging.getLogger(__name__)
# def logg():
# # logger = logging.getLogger(__name__)
# logger.info('111')
# class SizeError(Exception):
# def __init__(self, info):
# Exception.__init__(self)
@@ -40,10 +44,25 @@ headers = {
def kill_child_processes(parent_pid, file_name_, sig=signal.SIGINT):
file_name_ = file_name_+'.part'
last_file_size = 0.0
while True:
time.sleep(10)
if os.path.isfile(file_name_):
file_size = os.path.getsize(file_name_)/1024/1024/1024
if file_size == last_file_size:
try:
parent = psutil.Process(parent_pid)
except psutil.NoSuchProcess:
return
children = parent.children(recursive=True)
for process in children:
# print(process)
process.send_signal(sig)
logger.info('下载卡死'+file_name_)
break
last_file_size = file_size
if float(file_size) >= 3.9:
try:
parent = psutil.Process(parent_pid)
@@ -53,6 +72,8 @@ def kill_child_processes(parent_pid, file_name_, sig=signal.SIGINT):
for process in children:
# print(process)
process.send_signal(sig)
print('分段下载')
logger.info('分段下载'+file_name_)
break
# print(file_name_, '文件大小', file_size) # 单位GB
# try:
@@ -101,7 +122,7 @@ def monitoring(q):
def get_twitch_stream (url,value):
res = requests.get(url, headers=headers)
s = json.loads(res.text)
print(value,s['stream'])
print(value)
return s['stream']
@@ -111,6 +132,7 @@ def download_twitch_stream(dict, q, status_, key_,url_, file_name_):
value_ = dict[key_]
dict.pop(key_)
print('开始下载',key_)
logger.info('开始下载:'+key_)
ydl_opts = {
'outtmpl':file_name_,
'format': '720p'
@@ -134,7 +156,7 @@ def download_twitch_stream(dict, q, status_, key_,url_, file_name_):
ydl.download([url_])
except youtube_dl.utils.DownloadError:
print('分段下载')
# print('分段下载')
try:
os.rename(file_name_ + '.part', file_name_[:-4] + str(time.time())[:10] + '.mp4')
except FileExistsError:
@@ -142,6 +164,7 @@ def download_twitch_stream(dict, q, status_, key_,url_, file_name_):
finally:
dict[key_] = value_
print('下载完成')
logger.info('下载完成'+key_)
os.rename(file_name_, file_name_[:-4] + str(time.time())[:10] + '.mp4')
file_list = get_file(file_name_)
videopath = ''
@@ -154,6 +177,7 @@ def download_twitch_stream(dict, q, status_, key_,url_, file_name_):
for r in file_list:
os.remove(r)
logger.info('删除-'+r)
# print(links_id)
@@ -161,6 +185,7 @@ def download_panda_stream(dict, q, key_, url_,file_name_):
value_ = dict[key_]
dict.pop(key_)
print('开始下载', key_)
logger.info('开始下载' + key_)
list_info = []
with youtube_dl.YoutubeDL() as ydl:
try:
@@ -168,6 +193,7 @@ def download_panda_stream(dict, q, key_, url_,file_name_):
for i in info['formats']:
list_info.append(i['format_id'])
except youtube_dl.utils.DownloadError:
logger.info('%s未开播或读取下载信息失败' % key_)
dict[key_] = value_
if 'HD-m3u8' in list_info:
ydl_opts = {
@@ -193,7 +219,7 @@ def download_panda_stream(dict, q, key_, url_,file_name_):
ydl.download([url_])
except youtube_dl.utils.DownloadError:
print('分段下载')
# print('分段下载')
try:
os.rename(file_name_ + '.part', file_name_[:-4] + str(time.time())[:10] + '.mp4')
except FileExistsError:
@@ -201,6 +227,7 @@ def download_panda_stream(dict, q, key_, url_,file_name_):
finally:
dict[key_] = value_
print('下载完成')
logger.info('下载完成'+key_)
os.rename(file_name_, file_name_[:-4] + str(time.time())[:10] + '.mp4')
file_list = get_file(file_name_)
videopath = ''
@@ -213,6 +240,7 @@ def download_panda_stream(dict, q, key_, url_,file_name_):
for r in file_list:
os.remove(r)
logger.info('删除-'+r)
# print(links_id)
@@ -223,6 +251,7 @@ def download_stream(dict, q, status_, key_,twitch_url_,panda_url_,file_name_):
if __name__ == '__main__':
manager = Manager()
logger.info('123')
# d = manager.dict(links_id)
# while True:
# utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
+3
View File
@@ -2,8 +2,10 @@ from datetime import datetime, timedelta, timezone
from multiprocessing import Process, Manager, Queue
from download import links_id, root_url, get_twitch_stream, download_stream, download_twitch_stream, monitoring, download_panda_stream
import time
from download import *
if __name__ == '__main__':
logging.basicConfig(filename='AUTO.log', level=logging.INFO)
manager = Manager()
d = manager.dict(links_id)
@@ -30,6 +32,7 @@ if __name__ == '__main__':
p.start()
else:
p = Process(target=download_panda_stream,args=(d, queue, key, panda_url, file_name))
p.start()
elif len(links_id[key]) ==1:
twitch_url = root_url[0]+links_id[key][0]
+5 -2
View File
@@ -5,9 +5,9 @@ from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import logging
# 10800 18000 4110
logger = logging.getLogger(__name__)
# def excision(Path):
# file_size = os.path.getsize(Path)/1024/1024/1024
@@ -121,6 +121,7 @@ def upload(video_path, link,title_):
upload = driver.find_element_by_name('file')
# time.sleep(5)
print(driver.title)
# logger.info(driver.title)
upload.send_keys(video_path) # send_keys
# print(upload.get_attribute('value')) # check value
while True:
@@ -141,6 +142,7 @@ def upload(video_path, link,title_):
if len(aggregate) == 1 and ('Upload complete' in aggregate or '上传完成' in aggregate):
break
logger.info('上传%s\n个数%s'%(title_,len(info)))
# print(text)
# pageSource = driver.page_source
# print(pageSource)
@@ -206,6 +208,7 @@ def upload(video_path, link,title_):
driver.find_element_by_xpath('//*[@id="app"]/div[2]/div[2]/div/div[2]/div[2]/div[2]/div[3]/button').click()
print('稿件提交完成!')
logger.info('%s提交完成!' % title_)
driver.quit()
if __name__ == '__main__':
# upload('D:\\p2.flv','5','k')