<link href="/static/css/bootstrap.extension.css" rel="stylesheet" type="text/css">
path('posts/<account>/', views.show_post)
сделал так, все стало нормально, спасибо вам за советы :) class Instagram(models.Model):
instagram_login = models.CharField(max_length=30, primary_key=True)
creation_date = models.DateTimeField()
class InstagramConnector(models.Model):
user_id = models.ForeignKey("auth.User", on_delete=models.CASCADE)
instagram_login = models.ForeignKey(Instagram, on_delete=models.CASCADE)
date = models.DateTimeField()
description = models.TextField()
for post in media:
id = post['node']['id']
like = post['node']['edge_liked_by']['count']
comment = post['node']['edge_media_to_comment']['count']
photo = post['node']['display_url']
post = cursor.execute("SELECT count(*) FROM blog_instagram WHERE id=" + id)
for row in post:
count = row[0]
if (count == 0):
cursor.execute("INSERT INTO blog_instagram VALUES(?,?,?,?)", (str(like), str(comment), photo, str(id)))
conn.commit()
1) правильно ли вы понимаете смысл поля id в реляционной базе данных (я спрашиваю потому что обычно его не вставляют)У каждого поста в instagram есть свой уникальный id, так я и сделал Primary Key
если имеется в виду post_id или что-то типа того то тогда у вас там бардак в названиях который смущает все сообщество.
class Instagram(models.Model):
id = models.PositiveIntegerField(primary_key=True)
like = models.PositiveIntegerField(default=0)
comment = models.PositiveIntegerField(default=0)
photo = models.CharField(max_length=300)
3) чего именно вы добиться хотите
проверьте инстаграм на наличие API
парсить html всегда должно быть последней опцией в списке
эти инструменты хорошие но синхронные
если у вас большие объемы - далеко вы не уедете с ними
либо придется запускать много парсеров параллельно - откуда вырастут новые проблемы типа рейс-кондишенов, локов таблиц в базе, парсинг одного и того же по 100 раз и тд и тп
мы все это прекрасно знаем
поэтому вам все равно нужно смотреть в сторону чего-то асинхронного
тут вариантов не много - либо twisted либо tornado
предложенный мной scrapy как раз на twisted написан и зарекомендовал себя отлично для таких задач
phrases_ = (request.args.get('keyword')).encode('utf-8')
phrases_.decode('utf-8')