java - 我正在开发自己的搜索引擎。如何使用其他门户内容?
问题描述
我打算创建一个新网站,作为自行车的集中搜索引擎。这个想法是访问者可以在我的网站上执行搜索,然后从那里的其他几个门户网站获得报价。像 swoodoo、skyskanner 等用于飞行但用于自行车的东西。
如果它们不提供公共 api,那么查询其他门户(使用 java)的最佳方法是什么?我正在使用的“最佳”选项是向每个门户发送硬编码的 GET 或 POST 请求,然后使用它们的响应,但这似乎很难维护,根本不是一个好的选择。
您可以指出我的任何提示或阅读材料吗?
解决方案
所以从我的角度来看,你有两个选择:
- 查询公共 API 以获取所需数据
- 为数据规划站点
最好的选择会有所不同,如果您感兴趣的网站有一个公共 API,您可以查询该 API 以获取信息。我怀疑很多网站都有这个。
因此,第二个选项是两个站点以获取您感兴趣的信息。如果您选择此选项,请注意,每次您抓取的站点都会更改 HTML 结构 ID、类等。您的抓取功能可能需要维护.
因此,通过选择此选项,请注意您需要持续维护您的抓取程序!
这是一个解释什么是抓取以及如何完成抓取的链接:https ://www.youtube.com/watch?v=vsmxMLmroyQ
这不是 Java 特定的,但您可以将其映射到 Java。
推荐阅读
- angular - 离子 4 @mauron85/cordova-plugin-background-geolocation
- updates - 使用 Dexie,如何从表中所有对象的数组字段中删除一个值?
- c++ - 在文本文件中使用 getline 处理字符串的 C++ 问题
- r - 根据另一个变量的老化生成一个新变量
- selenium-webdriver - 无法定位元素:{"method":"css selector","selector":"a[href*='play.google.com']"}
- c - C中的冒泡排序算法——是这样吗?
- julia - Julia vs Mathematica:数值积分性能
- javascript - 如何将 Promise.race 或 Promise.all 与异步迭代一起使用?
- reactjs - 我可以在不弹出的情况下将 Create React App Jest Testing 与测试报告器一起使用吗?
- python - Python (Selenium) - 如何将第 1 页到最后一页的数据保存到同一个 CSV