首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用机械与正则表达式选择以下链接中的特定文本

使用机械与正则表达式选择以下链接中的特定文本
EN

Stack Overflow用户
提问于 2015-12-30 22:16:48
回答 1查看 947关注 0票数 1

我有一页如下:

代码语言:javascript
复制
#<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??)。因此,我认为需要在下面代码的第一行中有一个正则表达式:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-31 03:32:45

这就是select的目的:

代码语言:javascript
复制
page.links.select{|link| link.href[/ViewSample/]}

代码语言:javascript
复制
page.search('a').select{|a| a[:href][/ViewSample/]}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34538115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档