如何方便地提取数据扩展url
How can I easily extract that data-expanded-url?
我试图解析一个定义为data-expanded-url
的URL的HTML网页。只有一个URL要提取,只有一个data-expanded-url
。这是网页的主要部分,我所做的所有事情都发生在这里:
<p class="js-tweet-text tweet-text">The Air <strong>Jordan</strong> 11 Retro
<strong>Low</strong> '<strong>Nightshade</strong>' is <strong>now available</strong>
<a href="http://tt.co/5w574TicgS" rel="nofollow" dir="ltr" data-expanded-url="http://swoo.sh/1fKCmCB" class="twitter-timeline-link" target="_blank" title="http://swoo.sh/1fKCmCB" >
<span class="tco-ellipsis"></span>
<span class="invisible">http://</span>
<span class="js-display-url">swoo.sh/1fKCmCB</span>
<span class="invisible"></span><span class="tco-ellipsis">
<span class="invisible"> </span></span>
</a>
<a href="http://tt.co/Ug4qjrW9DD" class="twitter-timeline-link" data-pre-embedded="true" dir="ltr" >pic.twitter.com/Ug4qjrW9DD</a>
</p>
这是data-expanded-url
:
<a href="http://tt.co/5w574TicgS" rel="nofollow" dir="ltr" data-expanded-url="http://swoo.sh/1fKCmCB"`
我怎样才能轻松地提取data-expanded-url
像Mojo::DOM或HTML::解析器或XPath?
下面是你需要的代码:
use WWW::Mechanize;
use HTML::TreeBuilder::XPath;
my $mech = WWW::Mechanize->new();
my $url = "https://twitter.com/search?q=from%3Anikestore%20%22jordan%22%20%22nightshade%22%20%22low%22%20%22now%20available%22%20since%3A2014-5-2&src=typd";
$mech->get($url);
my $tree = HTML::TreeBuilder::XPath->new_from_content( $mech->content() );
my ($link) = $tree->findvalues('//p[ @class =~ /'btweet-text'b/ ]/a[1]/@data-expanded-url');
$tree->delete();
print $link, "'n";
下面是一个Mojo::DOM示例:
use Mojo::DOM;
my $html = do { local $/; <DATA> };
my $dom = Mojo::DOM->new( $html );
say $dom
->find( 'a.twitter-timeline-link' )
->map( attr => 'data-expanded-url' )
->grep( sub { defined } )
->join( "'n" );
相关文章:
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Chrome扩展:遍历不同的页面并收集数据
- o数据扩展查询在SystemUserRolesSet上不起作用
- 在Knockout中扩展动态和映射数据
- Google Chrome扩展在本地保存数据
- 在Drupal7中扩展字段集时,修改collapse.js以从xml获取附加数据
- jQuery扩展数据持久性
- 从chrome扩展创建一个包含POST数据的链接
- 扩展详细信息Jquery数据表的持久性
- 如何引用Firefox扩展的数据目录中的文件
- 保存每个POST数据的Chrome扩展
- Chrome扩展:没有插入或提取数据
- Firefox扩展:获取上下文菜单时的点击数据
- Chrome扩展-使用javascript定期运行,并永久记录数据
- 通过命令按钮单击更改丰富面可扩展数据表高度
- Chrome扩展如何将数据从内容脚本发送到popup.html
- 使用来自第二个源的数据扩展observableArray
- 用额外数据扩展承诺
- 在jQuery mobile中解析JSON并使用数据扩展listview
- 如何方便地提取数据扩展url