flyzy博客
分享便宜VPS与网络优惠
搬瓦工

linux有办法批量提取文件中的title吗?

比如a目录下有100个html。提取这100个html文件名和对应的title标签里的文字,然后保存到txt里。类似这样 1.html  全球主机论坛 2.html  百度 3.html  网易复制代码
自己写了个小爬虫,通过浏览器抓取,奈何文件太多。效率太低。在ssh里能实现吗?

江苏省网友说:ls grep awk应该可以搞定

台湾省网友说:可以使用grep和sed命令来提取文件名和对应的title标签里的文字,并使用循环来遍历所有的html文件。  以下是一个可能的Shell脚本示例:  #!/bin/bash  # 定义保存结果的文件名 result_file=”titles.txt”  # 清空文件内容 > $result_file  # 遍历a目录下的所有html文件 for file in a/*.html do   # 提取文件名   filename=$(basename “$file”)    # 提取title标签里的文字   title=$(grep -oP ‘(?<=).*?(?=)’ “$file” | sed ‘s/ / /g’)    # 将结果写入文件   echo “$filename $title” >> “$result_file” done   该脚本首先定义了一个保存结果的文件名,然后使用>符号清空文件内容,以便在写入结果之前始终保持该文件为空。接下来,使用循环遍历a目录下的所有html文件。对于每个文件,使用basename命令提取文件名,并使用grep命令提取title标签里的文字,再使用sed命令将 替换为普通空格。最后,将文件名和title内容写入保存结果的文件中。  注意:该脚本假设每个html文件都有且只有一个title标签,并且该标签的内容不包含任何换行符。如果这些假设不成立,脚本可能需要做一些调整。

湖南省网友说:我的chatgpt网页这会打不开。。

赞(0) 打赏
关注我们
未经允许不得转载:flyzy博客 » linux有办法批量提取文件中的title吗?
分享到: 更多 (0)

这是一种鼓励

支付宝扫一扫打赏

微信扫一扫打赏