1. Прочтите вот эту книгу
https://dmkpress.com/catalog/computer/programming/...
У вас отпадет большая часть вопросов.
2. По сути вопроса:
try:
cursor.execute("SELECT * FROM index WHERE complete = FALSE")
except Exception as e:
print(e)
return None
Выбрал, что еще не скачано
import requests
session = requests.Session()
rows = cursor.fetchall()
for row in rows:
print("open %s"%row[1])
try:
req = session.get(row[1])
#скачал что надо, обработал
except AttributeError as e:
print(e)
return None
здесь скачиваем, вытаскиваем нужные данные
try:
cursor.execute("INSERT INTO pages (fields) VALUES (%s)", ("что там напарсил",))
except Exception as e:
print(e)
return None
Парсим и записываем в базу
try:
cursor.execute("UPDATE index SET complete = TRUE WHERE id = %s",(row[0],))
except Exception as e:
print(e)
return None
Отмечаем, что удалось скачать
db.commit()
Завершаем транзакцию
Ход мыслей примерно такой. Код для postgres, для мускула может немного отличаться.