如何解析 table 并提取最近 6 个月的数据 Nokogiri
How parse a table and extract data for last 6 months Nokogiri
我对这项任务感到困惑。我有一个来自演示银行网站的 table(查看下面的屏幕)。
只需要提取最近 6 个月的数据。
Data table
我已经尝试了这些主题中的几个答案:
Parse table using Nokogiri
但我仍然对如何只提取最近 6 个月的数据而不提取所有数据以及之后检查日期感到困惑。
是否有任何可能的选项以正确的方式提取数据?
我用来在 nokogiri 中查找 table 的 table class 是 class="tblInf rowOver"。
我使用的代码:
def get_transactions
cells = ''
$b.a(:href => "#/history_operations").click!
sleep(5)
$p = Nokogiri::HTML.parse($b.html)
table = $p.css('#simpleTable0')
table.search('tr').each do |tr|
payment_description = tr.search('.paymentDescription').text
p = payment_description.split(' ',-1)
for i in p
puts i.delete(' ')
end
# puts cells
end
一般来说,如果您可以 post 一些示例 HTML 而不是页面的屏幕截图,这会很有帮助。特别是因为这个任务是关于解析 HTML.
为什么要提前查看日期? Nokogiri 非常快,我无法想象 table 如此之大以至于在解析时进行检查会有用。查看了 Nokogiri 文档后,我看不出有任何方法可以执行您所描述的操作。您需要从 table 中获取数据,然后拒绝日期超过六个月的任何行。
我对这项任务感到困惑。我有一个来自演示银行网站的 table(查看下面的屏幕)。
只需要提取最近 6 个月的数据。
Data table
我已经尝试了这些主题中的几个答案:
Parse table using Nokogiri
但我仍然对如何只提取最近 6 个月的数据而不提取所有数据以及之后检查日期感到困惑。
是否有任何可能的选项以正确的方式提取数据?
我用来在 nokogiri 中查找 table 的 table class 是 class="tblInf rowOver"。
我使用的代码:
def get_transactions
cells = ''
$b.a(:href => "#/history_operations").click!
sleep(5)
$p = Nokogiri::HTML.parse($b.html)
table = $p.css('#simpleTable0')
table.search('tr').each do |tr|
payment_description = tr.search('.paymentDescription').text
p = payment_description.split(' ',-1)
for i in p
puts i.delete(' ')
end
# puts cells
end
一般来说,如果您可以 post 一些示例 HTML 而不是页面的屏幕截图,这会很有帮助。特别是因为这个任务是关于解析 HTML.
为什么要提前查看日期? Nokogiri 非常快,我无法想象 table 如此之大以至于在解析时进行检查会有用。查看了 Nokogiri 文档后,我看不出有任何方法可以执行您所描述的操作。您需要从 table 中获取数据,然后拒绝日期超过六个月的任何行。