0
我正在刮取具有多個錶行的電子郵件,其中一些我想排除。該表中的行我需要看正是像:如何僅選擇具有特定內容的表格行
<tr>
<td class="quantity"> ANYTHING BUT EMPTY </td>
<td class="description"> ANYTHING BUT EMPTY </td>
<td class="price"> ANYTHING BUT EMPTY </td>
</tr>
錶行均沒有class和id。此外,有不想要的<table>
行包含這些類的單元格,但有些沒有值,所以我只需要獲得具有這三類單元格的錶行,以及具有非空值的所有三個單元格。我的語法不知道要做到這一點:
body = Nokogiri::HTML(email)
wanted_rows = body.css('tr').select{ NOT SURE HOW TO ENCAPSULATE LOGIC HERE }
通常你會'select {| e | ...}'在元素'e'上有一些方法調用,這意味着什麼。例如,'e.html.match(/ \ S /)'至少要測試一個非空格字符。 – tadman
我明白.select和迭代器在一般情況下是如何工作的,我只是不確定如何封裝邏輯以僅選擇包含非空單元格的表格行以及適當的類別 – TDB
歡迎來到SO。當提出這樣的問題時,如果您提供了一個更好的示例,說明具有最小數據來展示問題的HTML,例如包含數據的兩行和不包含數據的行。 「[mcve]」談論這個。您對我們的幫助越多,我們可以幫助您的速度越快,您的問題和數據就越準確,我們就可以做到更準確。換句話說,它可以幫助你幫助我們。我們*可以*做額外的工作來調整輸入,但這會減慢我們的速度並且實際上不利於幫助。 –