我需要检索 HTML文档中文本文件的所有链接,我不知道最好的方法是什么,但是,我在ruby中尝试了以下内容… line.scan(/a href="([\w+:\/.-]*.txt)/) 但我不确定这个表达式是否涵盖指向文本文件的所
line.scan(/<a href="([\w+:\/.-]*.txt)/)
但我不确定这个表达式是否涵盖指向文本文件的所有可能链接,我想知道是否有一些内置的正则表达式?或者如果有人知道更好的方法来检索巨大网页中文本文件的所有链接.
这将遍历HTML并找到所有扩展名为“.txt”的href:#!/usr/bin/env ruby require 'nokogiri' html = <<EOT <html> <head><title>foo</title></head> <body> <a href="file.txt">text file</a> <a href="file.jpg">jpg file</a> <a href="file2.txt">text file 2</a> </body> </html> EOT doc = Nokogiri::HTML(html) puts doc.search('a').select { |n| n['href'][/\.txt$/] }.map{ |n| n['href'] } > file.txt > file2.txt
它正在使用Nokogiri来解析内容,这比尝试使用正则表达式更加防弹.