Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从Django应用程序内部刮取数据_Python_Django - Fatal编程技术网

Python 如何从Django应用程序内部刮取数据

Python 如何从Django应用程序内部刮取数据,python,django,Python,Django,作为练习,我想出了以下Django项目的想法:一个web应用程序,有一个按钮可以从Airbnb中提取房间数据,还有一个文本区域可以以排序方式显示检索到的数据 最好,对于刮削,我想使用Selenium,因为这个页面没有API。因此,该按钮可能需要启动浏览器自动化 所以第一个问题是:是否可以从web应用程序启动selenium 此外,我已经有了收集数据的工作脚本,但是我不知道如何将它应用到Django项目中:模型、视图、单独的脚本?我最初的想法是在点击按钮时启动抓取脚本,然后将检索到的房间相关数据转

作为练习,我想出了以下Django项目的想法:一个web应用程序,有一个按钮可以从Airbnb中提取房间数据,还有一个文本区域可以以排序方式显示检索到的数据

最好,对于刮削,我想使用Selenium,因为这个页面没有API。因此,该按钮可能需要启动浏览器自动化

所以第一个问题是:是否可以从web应用程序启动selenium

此外,我已经有了收集数据的工作脚本,但是我不知道如何将它应用到Django项目中:模型、视图、单独的脚本?我最初的想法是在点击按钮时启动抓取脚本,然后将检索到的房间相关数据转储到数据库(例如更新模型的房间属性,如“价格”和“链接”),并将数据显示回前面提到的文本区域

所以问题二是:是否可以在web应用程序中单击按钮启动Python脚本,例如通过嵌套在Django模板中?还是需要其他技术,比如Javascript


我知道我的问题是一般性的,但我也在寻找一般性的建议,而不是现成的代码示例。如果我刚才写的没有任何意义,我也愿意采用其他方法。

最简单的选择是在应用程序中使用一个查看函数(即链接到接收GET或POST请求的URL的函数),该函数执行抓取,并通过呈现模板立即返回结果。例如,您可以有一个带有表单的起始页,并且在提交该表单时,将创建一个POST请求,该请求将包含视图可用于决定刮取哪个页面的详细信息,等等。这不需要Javascript或数据库模型


如果您对Django还不太舒服,请考虑从烧瓶开始,因为它更容易进行。

< P>最简单的选项是应用程序中的视图函数(即链接到接收GET或POST请求的URL的函数),它通过绘制模板来进行擦除并立即返回结果。例如,您可以有一个带有表单的起始页,并且在提交该表单时,将创建一个POST请求,该请求将包含视图可用于决定刮取哪个页面的详细信息,等等。这不需要Javascript或数据库模型


如果你不喜欢Django,那么考虑从烧瓶开始,因为它更容易去。

< Pj> Django遵循MVT IE模型(你写关于数据库的东西的部分),视图(类似于我们在控制器中所做的逻辑-参考java),模板(你实际看到的东西)。 根据Alex的建议,您可以在主页上收集一些输入,并使用这些数据来刮取所需的页面

接下来是你的下一个问题,是的,你可以点击按钮启动脚本,JS的基本工作知识会很好


这就像是一个非常笼统的回答,同义于问题的笼统程度,因此,如果需要,请随时获取更具体的请求

Django遵循MVT,即Model(您编写与数据库相关的内容的部分)、View(与我们在controller-ref.Java中所做的类似的逻辑)、Template(您将实际看到的内容)。 根据Alex的建议,您可以在主页上收集一些输入,并使用这些数据来刮取所需的页面

接下来是你的下一个问题,是的,你可以点击按钮启动脚本,JS的基本工作知识会很好

这就像是一个非常笼统的回答,同义于问题的笼统程度,因此,如果需要,请随时获取更具体的请求