我正在处理一个场景搜索页面 http://www.idynbiz.com/web/html/carcrawler/.
该搜索页面必须同时对以下 5 个搜索引擎进行 API 调用:
- http://www.kijiji.ca/ http://www.kijiji.ca/
- http://www.lespac.com/ http://www.lespac.com/
- http://www.autonet.ca/ http://www.autonet.ca/
- http://www.autotrader.ca/ http://www.autotrader.ca/
- http://www.carpages.ca/ http://www.carpages.ca/
这个想法是从所有 5 个 API 调用中收集数据,并将其存储并呈现给用户以获取匹配的数据。
让我仅举一个搜索引擎 API 调用的例子,比如“KIJIJI”。
示例网址: http://www.kijiji.ca/b-autos-camions/grand-{CITY}/autre+type+de+carrosserie__berline__bicorps__cabriolet__coupe__familiale-{MAKE}-{MODEL}-{MIN YEAR}__/c174l80002a138a54a1000054a68?price=__{Max Price}&kilometres=__{MAX KM}
标记 {CITY}、{MAKE} 等将替换为用户输入的搜索值。
具有实际值的搜索 URL:
http://www.kijiji.ca/b-autos-camions/grand-montreal/autre+type+de+carrosserie__berline__bicorps__cabriolet__coupe__familiale-Honda-Accord-2010__/c174l80002a138a54a1000054a68?price=__5000&kilometres=__13000
页面提取器网址:
https://api.import.io/store/data/7ddb89d9-1dba-464f-a8e1-d522b50e8c4c/_query?input/webpage/url=http://www.kijiji.ca/b-autos-camions/grand-montreal/autre+type+de+carrosserie__berline__bicorps__cabriolet__coupe__familiale-Honda-Accord-2010__/c174l80002a138a54a1000054a68?price=__5000&kilometres=__13000&_user=8df097bf-2f5d-4509-b13e-299d05bad826&_apikey=H76otVMlVTG2KIW9fCZjWPtf4KzWFmlNBzbD2WIy9qOKSwIPgGxmUFVmTV9dDrORwcTtMBS1zZVLXSdEd9yfPQ%3D%3D
基本上,搜索 URL 进入页面提取器 URL 内部以获取所有找到的结果的列表。 API 调用将大量 url 返回到页面。
单独结果提取器:
https://api.import.io/store/data/e51c6ba5-fbf0-4614-b6a1-4d522b6b6ecf/_query?input/webpage/url=http://www.kijiji.ca/v-autos-camions/laval-rive-nord/2013-honda-accord-sport-sedan/1062203732?siteLocale=en_CA&_user=8df097bf-2f5d-4509-b13e-299d05bad826&_apikey=H76otVMlVTG2KIW9fCZjWPtf4KzWFmlNBzbD2WIy9qOKSwIPgGxmUFVmTV9dDrORwcTtMBS1zZVLXSdEd9yfPQ%3D%3D
第二个 API 调用返回每个单独 URL 的信息。
您可以通过将示例、页面提取器和单个结果提取器复制并粘贴到浏览器中来进行实时测试。 do 返回 json 结果。
现在的问题是我必须调用上述所有 5 个搜索引擎来进行单个搜索查询。我有每个搜索引擎的 api url。
另请查看下图。
如何通过为单个搜索查询调用多个 api 调用来实现此目的?是否涉及多线程?