搜索网站并返回找到的结果

问题描述

使用 Excel Power 查询,可以从以数据库/表格格式提供的网站中提取数据。

然而,许多在线数据库都非常大,以至于它们实现了搜索功能,而不是显示整个数据库,这很好,但在尝试有效地为许多关键字定位信息时会造成障碍。

我要搜索数据库是:

https://apps.who.int/food-additives-contaminants-jecfa-database/search.aspx

是否可以创建关键字/CAS 编号列表并按顺序搜索数据库并返回找到的数据?这类似于网络抓取,但增加了预先实际搜索数据的步骤。

解决方法

完全有可能实现你想要的。 首先,您分析页面,特别是输入框和提交按钮,并找出它们的标识。我为此使用 Chrome 开发工具。只需打开所需页面并按 F12。

在这种情况下输入框是:

<input name="ctl00$ContentPlaceHolder1$txtSearch" type="text" id="ContentPlaceHolder1_txtSearch">

提交按钮是:

<input type="submit" name="ctl00$ContentPlaceHolder1$btnSearch" value="Search" id="ContentPlaceHolder1_btnSearch">

然后,您可以使用 id 使用 javascript 来寻址框:

var inputBox = document.getElementById('ContentPlaceHolder1_txtSearch');
inputBox.value = 'your search string';

和提交按钮的等价物:

var searchButton = document.getElementById('ContentPlaceHolder1_btnSearch');
searchButton.click(); // Start the search

交付结果后,您需要分析该页面以找出需要哪些 JavaScript 代码来提取您感兴趣的页面部分。或者您可以使用以下命令转储整个页面:

document.documentElement.outerHTML;

用于在网页上运行 javascript 的 Excel VBA 示例代码:

https://github.com/peakpeak-github/libEdge

修改代码以满足您的需要。