Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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
Javascript 构建从浏览器获取数据并将其保存为文本文件的bot_Javascript_Python_Bots - Fatal编程技术网

Javascript 构建从浏览器获取数据并将其保存为文本文件的bot

Javascript 构建从浏览器获取数据并将其保存为文本文件的bot,javascript,python,bots,Javascript,Python,Bots,我的问题有点复杂。很难用文字来解释,所以我把它分成了几个步骤,每个步骤都有图片 从框中选择一个日期。击中 我将在一页上用一个。从开发人员控制台复制元素 将其转换为文本文件。包含选定日期的文本文件 根据需要多次重复步骤1-3,每次选择一个新日期,2018年1月15日、2018年1月14日、2018年1月13日,依此类推 甚至有可能构建一个机器人来实现这一点吗?如果是,我将使用什么工具 我知道很多JavaScript和Python,因此如果可能的话,我更愿意使用这两种语言。有可能: 看看seleni

我的问题有点复杂。很难用文字来解释,所以我把它分成了几个步骤,每个步骤都有图片

从框中选择一个日期。击中

我将在一页上用一个。从开发人员控制台复制元素

将其转换为文本文件。包含选定日期的文本文件

根据需要多次重复步骤1-3,每次选择一个新日期,2018年1月15日、2018年1月14日、2018年1月13日,依此类推

甚至有可能构建一个机器人来实现这一点吗?如果是,我将使用什么工具

我知道很多JavaScript和Python,因此如果可能的话,我更愿意使用这两种语言。

有可能:


看看selenium库,它通常用于python的自动测试。它应该能够选择单个日期,点击submit按钮,然后遍历HTML代码并获取标记中的数据。之后,您可以单独使用python将此数据存储在文本文件中,并在您选择的位置使用您选择的名称。

需要知道您正在查看/查看页面源的URL。如果日期作为请求的任何一部分提供,并且响应包含您正在查找的数据,那么从python脚本中收集和分析这些数据应该很简单

使用浏览器开发工具的“网络”选项卡浏览您的点击,当您点击“提交”时,您应该会看到一个请求发出。Expedia只使用查询参数,因此在点击提交后,您需要的整个URL会在浏览器的URL栏中弹出

工具:

如果基于请求: python 请求模块

如果是缓存的/更复杂的东西,有一些工具可以自动点击并保存结果…我想这是不必要的,尽管

更新:

AJAX调用是HTTP请求和响应,因此您应该能够在我们的web浏览器开发工具的“网络”选项卡中观察它们,然后通过脚本而不是浏览器模拟该请求

请求/响应的可读性和/或组织为使除浏览器以外的任何应用程序无法获得相同响应而实施的任何措施将是潜在的障碍,但即使是这些措施也应是可模仿的。如果您的浏览器正在发出请求,那么您的python脚本没有理由不能发出相同的请求


正如另一张海报所回答的那样,您似乎感兴趣的方法,尽管对我来说听起来更复杂,但可以使用自动化工具,如Selenium。祝你好运。

也许值得研究一下浏览器自动化工具。我对Selenium很熟悉,特别是在Java中自己编写测试步骤和页面对象。还有一个Firefox插件,用于记录和播放未使用过的脚本。此数据库使用ajax调用-更改日期不会更改URL。Python的请求无法工作。我需要构建一个bot来更改日期并复制由ajax调用引起的DOM更改。