1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
import json
import urllib.request
import sqlite3
min_article_id = 1
max_article_id = 50
while (min_article_id < max_article_id):
myurl = "http://www.monsite.com/articles/details?id="+str(min_article_id)
print(min_article_id) #juste pour récupérer le numéro de la page qui bloque
response = urllib.request.urlopen(myurl)
content = response.read()
data = json.loads(content.decode("utf8")) #<===================== C'est la où ça bloque si page vide
id_article = data["id_articles"]
article_editeur = data["editeur"]
article_texte = data["texte"]
article_date = data["date"]
#SQL : Les informations collectées seront enregistrées dans une base de données Sqllite
connex = sqlite3.connect("articles.sq3")
cur = connex.cursor()
try:
req ="CREATE TABLE list_articles( Id INTEGER, editeur TEXT, texte TEXT, date TEXT)"
cur.execute(req)
except:
pass
req ="INSERT INTO list_articles (Id, editeur, texte, date) VALUES(?, ?, ?, ?)"
cur.execute(req,(id_article, article_editeur, article_texte, article_date))
connex.commit()
time.sleep(9)
min_article_id += 1 |
Partager