Python 使用BeautifulSoup更新django数据库
我对Django很陌生。我一直在浏览教程,并决定从我自己的东西开始,需要一些关于最佳前进方向的建议 我正在创建一个简单的站点,它运行在postgreSQL表中存储的URL小列表中,并使用Beautiful Soup从每个URL页面提取数据,并将其存储在记录中。。它只是在每个网站的主页上记录的统计数据 我设置了模型和相关的类列表视图来显示它们。即将开始运行BeautifulSoup部分,想知道应该将代码放在哪里运行,并为每个站点刮取数据 调用类视图时是否应该调用它?什么模特经理?只是一个定制的功能还是什么?如果可能的话,我想使用Ajax每隔一段时间更新这些数据,因此它需要与之相适应 希望这不是太模糊。如果你觉得这是有益的,尽管它实际上只是一个简单的模型和类列表视图,很高兴发布我的内容Python 使用BeautifulSoup更新django数据库,python,django,django-models,beautifulsoup,Python,Django,Django Models,Beautifulsoup,我对Django很陌生。我一直在浏览教程,并决定从我自己的东西开始,需要一些关于最佳前进方向的建议 我正在创建一个简单的站点,它运行在postgreSQL表中存储的URL小列表中,并使用Beautiful Soup从每个URL页面提取数据,并将其存储在记录中。。它只是在每个网站的主页上记录的统计数据 我设置了模型和相关的类列表视图来显示它们。即将开始运行BeautifulSoup部分,想知道应该将代码放在哪里运行,并为每个站点刮取数据 调用类视图时是否应该调用它?什么模特经理?只是一个定制的功能
谢谢 您不应该在视图中进行任何刮削。这可能会让用户感到困惑,因为在进行刮削时页面不会加载。用户还可能刷新页面并导致代码运行两次。此外,您可能为项目安装的许多代理可能会超时 这更像是一种后台处理类型的工作。最简单的方法是使用一个。在management/commands下创建一个名为scrape.py的文件。别忘了,开始。例如:
polls/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
scrape.py
tests.py
views.py
在该文件中,请使用:
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
def handle(self, *args, **options):
self.stdout.write(self.style.SUCCESS('I am a scraper!'))
最后,不要忘记使用以下命令运行新命令:
python manage.py scrape
您可能希望使用cron作业来设置它
有关更复杂的用例,请参见。您不应该在视图中执行任何刮取操作。这可能会让用户感到困惑,因为在进行刮削时页面不会加载。用户还可能刷新页面并导致代码运行两次。此外,您可能为项目安装的许多代理可能会超时 这更像是一种后台处理类型的工作。最简单的方法是使用一个。在management/commands下创建一个名为scrape.py的文件。别忘了,开始。例如:
polls/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
scrape.py
tests.py
views.py
在该文件中,请使用:
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
def handle(self, *args, **options):
self.stdout.write(self.style.SUCCESS('I am a scraper!'))
最后,不要忘记使用以下命令运行新命令:
python manage.py scrape
您可能希望使用cron作业来设置它
有关更复杂的用例,请参阅。Perfect,我将尝试一下。谢谢你的快速回复,基奇克。太好了,我试试看。谢谢你的快速回复,基奇克。