我有一页如下:
#<Mechanize::Page::Link
"TCO11_IIIE"
"/me/secure/ViewSample.do?id=211112">
#<Mechanize::Page::Link
"TCO15_IIIE"
"/me/secure/do?id=211113">
#<Mechanize::Page::Link
"TCO16_IIC"
"/me/secure/ViewSample.do?id=211114">
#<Mechanize::Page::Link
"TCO17_IIC"
"/me/secure/ViewSample.do?id=211116">
#<Mechanize::Page::Link
"TCO17_IIIE"
"/me/secure/ViewSample.do?id=211115">
#<Mechanize::Page::Link
"TCO19_IID"
"/me/secure/ViewSample.do?id=211117">
#<Mechanize::Page::Link
"TCO21_IIC"
"/me/secure/ViewSample.do?id=211118">
#<Mechanize::Page::Link
"TCO21_IIIE"
"/me/secure/do?id=211119">
#<Mechanize::Page::Link
"TCO23_IIC"
"/me/secure/do?id=211120">我正在编写一个脚本,试图遵循其中包含“ViewSample”的链接(然后下载以fq结尾但与这个问题无关的特定链接)。
我对如何做到这一点有点困惑,因为我认为.search和.links_with方法需要精确的字符串来处理整个链接文本(??或者是href??)。因此,我认为需要在下面代码的第一行中有一个正则表达式:
master_page.search("ViewSample") do |download_list_link|
download_list_page = agent.get(download_list_link[:href])
download_list_page.search("td > a") do |link|
if link.content.include?("fq.gz")
out_file = File.new("downloaded_file", "w")
out_file.puts($agent.get_file(link[:href]))
out_file.close
end
end
end发布于 2015-12-31 03:32:45
这就是select的目的:
page.links.select{|link| link.href[/ViewSample/]}或
page.search('a').select{|a| a[:href][/ViewSample/]}https://stackoverflow.com/questions/34538115
复制相似问题