Python 3-从beautifulSoup中的标签获取文本

发布于 2021-01-29 15:02:21

我正在使用beautifulSoup从网站提取数据。每当您重新加载页面时,该网站上的文本都会更改,因此基本上,我希望能够将重点放在类名上作为静态变量,因为文本是动态的。

import requests
from bs4 import BeautifulSoup
url = 'xxxxxxxxxxx'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
class2 = soup.find_all(True, class_="template_title")
print (class2)

它打印出
<td align="left" class="template_title" height="50" valign="bottom" width="535"><div style="padding-bottom:9px;">4</div></td>
当页面重新加载,我仍然有重点的领域,但我不知道如何只打印文本(在这种情况下是:4)

一旦解决了这个问题,我还有另一个问题:如果该类包含多个标签,是否有办法获取更多静态数据,以确保它只打印我在搜索的文本,而不是其他文本?(我有课,但是我也可以使用height
=“ 50” valign =“ bottom” width =“ 535”吗?)

关注者
0
被浏览
73
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    1. 您可以使用textstring属性的元素。

      elems = soup.find_all(True, class_='template_title')
      

      print([elem.string for elem in elems])

      prints ['4'] for the given html snippet

    2. 根据需要指定更多属性:

      elems = soup.find_all(True, class_='template_title',
                        height='50', valign='bottom', width='535')
      


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看