我在beautiful soup的帮助下编写一个网络爬虫程序。我有以下html代码:
<tr class="odd-row">
<td>xyz</td>
<td class="numeric">5,00%</td>
</tr>
<tr class="even-row">
<td>abc</td>
<td class="numeric">50,00%</td
</tr>
<tr class="odd-row">
<td>ghf</td>
<td class="numeric">2,50%</td>
我的目标是把数字写在^{cl 1}之后$
目前我正在做以下工作:
for c in soup.find_all("a", string=re.compile('abc')):
abc=c.string
当然,它返回的是字符串“abc”,而不是标签中的数字。 所以基本上我的问题是如何在^{cl 2}之后处理字符串$
谢谢你的帮助!!!
一旦你找到了正确的td,我认为这是你想要的,代替a的东西,然后让下一个兄弟姐妹来上你想要的课:
如果数字td总是next,则可以调用find_next_sibling():
对于你的意见,双方都会给你:
所以当我理解你的问题时,你想在元组上迭代 (“xyz”、“5,00%”)、(“abc”、“50,00%”)、(“ghf”、“2,50%”)。是这样吗?
但我不明白代码是如何产生任何结果的,因为您正在搜索
<a>
标记。相反,您应该遍历
<tr>
标记,然后获取<td>
标记中的字符串。注意用于访问第二个<td>
的双next_sibling
,因为第一个next_sibling
将引用两个标记之间的空白。如果我正确理解您的问题,并且假设您的html代码始终遵循示例结构,则可以执行以下操作:
你最终得到了一个字典,关键字名是'xyz'、'abc'…等等,它们的值是
class="numeric"
中的字符串相关问题 更多 >
编程相关推荐