使用ruby从数据中截取所需要的内容,可实现的程序,拜托各位大神
使用ruby从数据中截取所需要的内容,求一个可实现的程序,拜托各位大神~
获取的数据是从网页上整个抓取过来的,使用了下面的代码:
require 'watir'
ie = Watir::IE.start(网址)
url=ie.url()
str=ie.html()
获取到的内容为:
<TD class=black><A id=Apps_rptMain_ctl02_A1 title="新京" href="http://baidu.com/App254222.html" target=_blank>新京</A></TD>
<TD>3.1.2</TD>
<TD class=black><A id=Apps_rptMain_ctl03_A1 title="盛京" href="http://baidu.com/App245026.html" target=_blank>盛京</A></TD>
<TD>3.1.2</TD>
想要获取到内容中红色字体的数据,请问代码要怎么写?
------解决方案--------------------
如果能拿到这小段html,那基本上可以转成xml然后用dom来获取,如果html不满足xml的语法要求,就只有通过正规表示来查找了~
------解决方案--------------------
获取的数据是从网页上整个抓取过来的,使用了下面的代码:
require 'watir'
ie = Watir::IE.start(网址)
url=ie.url()
str=ie.html()
获取到的内容为:
<TD class=black><A id=Apps_rptMain_ctl02_A1 title="新京" href="http://baidu.com/App254222.html" target=_blank>新京</A></TD>
<TD>3.1.2</TD>
<TD class=black><A id=Apps_rptMain_ctl03_A1 title="盛京" href="http://baidu.com/App245026.html" target=_blank>盛京</A></TD>
<TD>3.1.2</TD>
想要获取到内容中红色字体的数据,请问代码要怎么写?
------解决方案--------------------
如果能拿到这小段html,那基本上可以转成xml然后用dom来获取,如果html不满足xml的语法要求,就只有通过正规表示来查找了~
------解决方案--------------------
- Perl code
#!/usr/bin/env perl use strict; use warnings; my @lines = ( '<TD class=black><A id=Apps_rptMain_ctl02_A1 title="新京" href="http://baidu.com/App254222.html" target=_blank>新京</A></TD><TD>3.1.2</TD>', '<TD class=black><A id=Apps_rptMain_ctl03_A1 title="盛京" href="http://baidu.com/App245026.html" target=_blank>盛京</A></TD><TD>3.1.2</TD>', ); for my $line (@lines) { if ($line =~ /<TD.*?><A.*? title=\"([^\"]+)\".*?<TD>(\d\.\d\.\d)<\/TD>/) { print "$1 $2\n"; } }