он выбирает строки, у которых Link_status
значение столбца не равно ok
и сохраняет тему в списке, затем получает первый элемент списка, открывает веб-сайт и ищет первый элемент, если на веб-сайте есть любой контент, в котором выполняется скрипт, и обновите значение Link_status
первого элемента списка до ok
. это цель моего кода, но иногда какой-то элемент из списка не может быть найден на веб-сайте, и код будет закрыт. но я хочу, чтобы, когда элемент не смог найти код, не закрывался, просто пропустите этот элемент и найдите следующий элемент в списке.
код:
lucas_db = mysql.connector.connect(
host='localhost',
user="root",
password="uhvDichcuCSWkjce@Mfoe",
database="Lucas_database")
try:
# select those releases not linked and first one
mycursor_link_find = lucas_db.cursor()
Select_command_link_find = "SELECT Release_Name FROM Lucas_t_db WHERE Published_Time > SUBDATE(CURRENT_DATE, INTERVAL 1 HOUR) AND Parent_id IS NOT NULL AND Link_status !='ok' "
mycursor_link_find.execute(Select_command_link_find)
Post_id_rel_mov = mycursor_link_find.fetchall()
print(">!>!>!> ", Post_id_rel_mov)
Post_id_rel_mov = [a[0] for a in Post_id_rel_mov]
print(Post_id_rel_mov[0])
x = Post_id_rel_mov[0]
# select all releases those are same parent id
mycursor_link_find_pid = lucas_db.cursor()
Select_command_link_find_pid = "SELECT Parent_id FROM Lucas_t_db WHERE Release_Name = '"+x+"' "
mycursor_link_find_pid.execute(Select_command_link_find_pid)
Post_id_link= mycursor_link_find_pid.fetchall()
Post_id_link = [a[0] for a in Post_id_link]
print(Post_id_link)
z = str(Post_id_link[0])
mycursor_link_rls_name = lucas_db.cursor()
Select_command_rls_name = "SELECT Release_Name FROM Lucas_t_db WHERE Post_ID = '"+z+"' AND Post_ID IS NOT NULL "
mycursor_link_rls_name.execute(Select_command_rls_name)
Post_link_rls_name= mycursor_link_rls_name.fetchall()
Post_link_rls_name = [a[0] for a in Post_link_rls_name]
link_title = Post_link_rls_name[0]
z = str(Post_id_link[0])
mycursor_link_cont = lucas_db.cursor()
Select_command_cont = "SELECT Post_content FROM Lucas_t_db WHERE Post_ID = '"+z+"' AND Post_ID IS NOT NULL "
mycursor_link_cont.execute(Select_command_cont)
Post_link_cont= mycursor_link_cont.fetchall()
Post_link_cont = [a[0] for a in Post_link_cont]
link_cont = Post_link_cont[0]
try:
def get_rls(t):
# w = re.match(".*\d ", t)
w = re.match(".*S\d+E\d+", t)
if not w: raise Exception("Error For Regular Expression")
return w.group(0)
regular_case = [x]
for w in regular_case:
Regular_part = get_rls(w)
print(">>>> Regular Part: ", Regular_part)
except:
def get_rls(t):
w = re.match(".*\d ", t)
# w = re.match(".*S\d+E\d+", t)
if not w: raise Exception("Error For Regular Expression")
return w.group(0)
regular_case = [x]
for w in regular_case:
Regular_part = get_rls(w)
print(">>>> Regular Part: ", Regular_part)
Regular_part= Regular_part.replace(" ", "+")
# Produced_link='http://scene-rls.net/?s='+Regular_part+'&submit=Find'
# wClient = Wreq(Produced_link)
# d_page_source = wClient.read()
# wClient.close()
# page_sop = Wsoup(d_page_source, "html.parser")
# driver.get('http://scene-rls.net/?s='+Regular_part+'&submit=Find')
driver = webdriver.Chrome(executable_path=r'C://chromdriver//chromedriver.exe')
xx = "http://scene-rls.net/?s='"+Regular_part+"'&submit=Find"
driver.execute_script('''window.open("{},_blank");'''.format(xx))
driver.switch_to_window(driver.window_handles[1])
time.sleep(22)
my_driver = driver.page_source
scn_rls_soup = Wsoup(my_driver, "html.parser")
z = str(Post_id_link[0])
mycursor_link_find_1080 = lucas_db.cursor()
Select_command_link_find_1080 = "SELECT Release_Name FROM Lucas_t_db WHERE Parent_id = '"+z+"'"
mycursor_link_find_1080.execute(Select_command_link_find_1080)
Post_rls_link_1080= mycursor_link_find_1080.fetchall()
Post_rls_link_1080 = [a[0] for a in Post_rls_link_1080]
for a in Post_rls_link_1080:
print("1080p >>>",a)
# mycursor_link_stat_1080 = lucas_db.cursor()
# Select_command_link_stat_1080 = "SELECT Link_status FROM Lucas_t_db WHERE Parent_id = '"+z+"' AND Link_status LIKE '%_1080%' "
# mycursor_link_stat_1080.execute(Select_command_link_stat_1080)
# lins_stat_1080= mycursor_link_stat_1080.fetchall()
# lins_stat_1080 = [a[0] for a in lins_stat_1080]
# print("1080p >>>",lins_stat_1080)
try:
try:
uploadgig_href_1080 = scn_rls_soup.find(text=Post_rls_link_1080).findNext("h2").find('a' , attrs={'href':re.compile("https://uploadgig.com/file/download/")})
uploadgig_1080 = '<a href="'+uploadgig_href_1080.get('href')+'">'
print("U_1080p",uploadgig_1080)
end_a_u_1080 = "</a>"
w = a
mycursor_link_sub = lucas_db.cursor()
mycursor_link_sub.execute("UPDATE Lucas_t_db SET Link_status = 'ok' WHERE Release_Name ='"+w+"' " )
lucas_db.commit()
print("commit")
except AttributeError:
info_links_1080 = scn_rls_soup.find(text=Post_rls_link_1080).findNext("h2").find('a' , attrs={'href':re.compile("http://nfo.scene-rls.net/")})
print("")
print(info_links_1080.get('href'))
uploadgig_1080 = ""
end_a_u_1080 = ""
print("U_1080p no info center")
w = a
mycursor_link_sub = lucas_db.cursor()
mycursor_link_sub.execute("UPDATE Lucas_t_db SET Link_status = 'ok' WHERE Release_Name ='"+w+"' " )
lucas_db.commit()
print("commit")
except:
uploadgig_1080 = ""
end_a_u_1080 = ""
print("U_1080p no rls name")
print(" every things ok ")
except IndexError:
print(" *************No unlinked Rls in DB************ ")
дайте какие-либо идеи для этой проблемы ??