用抓取的数据填充 django 模型
Posted
技术标签:
【中文标题】用抓取的数据填充 django 模型【英文标题】:populate django model with scraped data 【发布时间】:2020-07-23 05:39:54 【问题描述】:我从https://www.worldometers.info/coronavirus/抓取数据用于使用 bs4 的国家统计数据。但我想使用该数据来填充我的 django 模型,其字段与 scraped 数据相同,但我不知道如何操作。我在使用其他库(如 scrapy(celery))抓取表格数据时也遇到了问题。这是我尝试废弃的表的 xpath“//* [@id="main_table_countries_today"]”。如果有人可以帮助我如何使用这些 scraped 数据存储在 django 模型中,那就太好了。 PS 不使用外部 CSV 或 Json 文件。
【问题讨论】:
MyModel(field_1="extracted_field_1_data", whatever="extracted_whatever")
然后拨打.save()
【参考方案1】:
您可以在从中抓取数据的外部脚本中使用 Django ORM。
# replace project_name with your own project name
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")
django.setup()
from models import MyModel
然后在脚本中,您可以使用抓取的数据创建模型类的对象。
MyModel.objects.create(recoverd=recoverd_cases, deaths=people_died)
【讨论】:
为此脚本文件和django项目应该在同一个环境中?就像我应该在我的 django 项目中创建一个 task.py 文件。 我做的另一件事是我用我的脚本配置了 postgres 以直接将数据添加到模型字段,但只有字符串文件数据被添加到 db 列但由于数据类型错误而没有添加整数数据字段类型和模型字段类型不匹配,即使两者都设置为 int。 @UmairRamay 你可以做的是使用相同的数据库凭据制作同一个 Django 项目的副本,然后你可以在另一个环境中运行脚本。 看看这个答案:***.com/a/37647383/13116155以上是关于用抓取的数据填充 django 模型的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Beautiful Soup 网站抓取的结果中将 Django 模型添加到数据库中?