bash - 如何使用 sed 从网页中提取文本
问题描述
嘿,我正在使用sed和curl的组合从网页example.com中提取一些文本
这是我的代码
curl -s http://example.com | sed -n -e 's/.*<h1>\(.*\)<\/h1>.*<p>\(This.*\)<\/p>/\1 \n \2/p'
但是,我没有得到任何输出。我可能做错了什么?
解决方案
尽管 sed 通常不是从网页中提取文本的正确工具,但它对于简单的任务可能就足够了。sed 是一个面向行的工具。所以每一行都会分开处理。
如果你真的想用 sed 来做,你会给出一些输出:
curl -s http://example.com | sed -n -e 's/.*<h1>\(.*\)<\/h1>/\1 \n/p' -e 's/<p>\(This.*\)/\1 \n/p'
推荐阅读
- gn - 如何使共享库不链接到其在 gn 中的部门
- docker - 放两个nginx系列
- io - 使用嵌套隐式循环将二维数组写入未格式化文件的最佳方法
- image - 在 Genexus 16 的新环境中加载图像时出错
- node.js - 关键依赖项:require 函数的使用方式是无法静态提取依赖项 - NodeJS、Express 和 Webpack
- entity-framework - Entity Framework6 中的 HasConversion 函数
- c++ - 如何使用两个向量打印给定输入字符串中每个单词的频率?
- asp.net - 项目在错误的本地主机上运行的问题
- azure - 如何在现有的 azure databricks 工作区中获取集群、作业、安装的库等的总数?
- php - Docker-Compose with Nginx and PHP -> Nginx Config for Performance