2024-10-01 07:17:26 发布
网友
我试图使用bs4从html表中提取一个值,但是该表的结构是:
bs4
<td class="celda400" vAlign="center" align="right" width="100" bgColor="#DFEDFF" style="color:Black"> 575,42 </td>
我感兴趣的值是575,42,但是它没有要提取的bs4使用的id或其他标识符
575,42
我如何调用此值?还是用什么身份证
另一个解决方案
from simplified_scrapy import SimplifiedDoc,req,utils html = ''' <td class="celda400" vAlign="center" align="right" width="100" bgColor="#DFEDFF" style="color:Black"> 575,42 </td> <td class="celda400" vAlign="center" align="right" width="100" bgColor="#DFEDFF" style="color:Black"> 575,43 </td> ''' doc = SimplifiedDoc(html) texts = doc.selects('td.celda400').text print (texts)
结果:
['575,42', '575,43']
这里有更多的例子https://github.com/yiyedata/simplified-scrapy-demo/blob/master/doc_examples
可以使用任何属性进行提取。例如,使用
class = "celda400"属性
class = "celda400"
response.find('td', {'class':"celda400"}).string
你可以试试。我想,你可以理解:
from bs4 import BeautifulSoup html_doc = """ <td class="celda400" vAlign="center" align="right" width="100" bgColor="#DFEDFF" style="color:Black"> 575,42 </td> <td class="celda400" vAlign="center" align="right" width="100" bgColor="#DFEDFF" style="color:Black"> 875,42 </td> """ soup = BeautifulSoup(html_doc, 'lxml') all_td = soup.find_all('td', {'class':"celda400"}) for td in all_td: value = td.text.strip() print(value)
另一个解决方案
结果:
这里有更多的例子https://github.com/yiyedata/simplified-scrapy-demo/blob/master/doc_examples
可以使用任何属性进行提取。例如,使用
class = "celda400"
属性你可以试试。我想,你可以理解:
相关问题 更多 >
编程相关推荐