从localhost网站上的所有页面获取<title>值列表的最快方法

Lar*_*nal 4 screen-scraping web-crawler

我本质上想要抓取我的本地站点并创建所有标题和URL的列表,如下所示:

http://localhost/mySite/Default.aspx      My Home Page
http://localhost/mySite/Preferences.aspx  My Preferences
http://localhost/mySite/Messages.aspx     Messages

我正在运行Windows.我对任何有效的东西都开放 - 一个C#控制台应用程序,PowerShell,一些现有工具等.我们可以假设标签确实存在于文档中.

注意:我需要实际捕获文件,因为标题可能是在代码而不是标记中设置的.

Ada*_*eld 5

一个快速而又脏的Cygwin Bash脚本,可以完成这项工作:

#!/bin/bash
for file in $(find $WWWROOT -iname \*.aspx); do
  echo -en $file '\t'
  cat $file | tr '\n' ' ' | sed -i 's/.*<title>\([^<]*\)<\/title>.*/\1/'
done
Run Code Online (Sandbox Code Playgroud)

说明:这将查找根目录$ WWWROOT下的每个.aspx文件,用空格替换所有换行符,以便在<title>和之间没有换行符</title>,然后在这些标记之间删除文本.