我希望在特定网站的搜索查询中出现新结果时,我会通知某种方式。该网站没有为此提供任何功能(通过RSS,警报..等)。我认为实现这一目标的一种方法是发送http请求(用于搜索)并处理http响应以发送任何新结果的发送邮件。搜索参数可以是静态的或更好地从源(如csv文件)获取。有没有人知道现有的解决方案,最好是在线,这可以实现这一点。
谢谢, 截拳道
答案 0 :(得分:0)
这取决于您要查询的特定网站。
答案 1 :(得分:0)
我知道没有“开箱即用”的开源解决方案,所以我相信你需要编写一个自定义蜘蛛/爬虫来完成你的任务;它需要提供以下服务:
调度 - 何时应该进行爬网。通常使用类Unix系统中的“cron”系统服务或Windows中的Task Scheduler。
检索 - 检索目标网页。使用像Perl这样的脚本语言或像'curl'或'wget'这样的专用系统工具。
提取/标准化 - 从目标(检索到的页面)中删除除感兴趣内容之外的所有内容。需要补偿与任务没有密切关系的目标变化部分,如日期或广告。通常通过支持正则表达式(对于普通案例)或HTML解析器库(用于更专业的提取)的脚本语言来完成。
校验和 - 将目标转换为由其内容确定的唯一标识符。用于确定自上次爬网以来对目标的更改。由系统工具(例如Linux'cksum'命令)或脚本语言完成。
更改检测 - 将先前保存的最后检索目标的校验和与当前检索的新计算校验和进行比较。同样,通常使用脚本语言。
警报 - 通知用户已识别的更改。通常通过电子邮件或短信。
状态管理 - 存储上次运行中的目标URI,提取规则,用户首选项和目标校验和。使用配置文件或数据库(如Mysql)。
请注意,此服务列表试图以抽象方式描述系统,因此听起来比您创建的实际工具要复杂得多。我以前写过这样的几个系统所以我希望用Perl编写的简单解决方案(利用标准的Perl模块)并在Linux上运行,根据提取的复杂性,对于几个目标站点需要100行左右。
答案 2 :(得分:0)
尝试iHook,它使您可以调度(最多1分钟)对公共Web资源的HTTP请求,并接收基于规则的电子邮件通知。您可以围绕响应状态代码和响应主体(通过JSON表达式和CSS选择器)创建通知规则。