使用Python和BeautifulSoup根据属性解析“ a”标签

迈克尔·T

使用这段HTML:

    <td align="left">
     <a class="playerLink" href="http://bbroto.baseball.cbssports.com/players/playerpage/2000032">
      Russell, Addison
     </a>
     SS OAK  - Won at $0
     <br>
      <a class="playerLink" href="http://bbroto.baseball.cbssports.com/players/playerpage/556425">
       Vargas, Jason
      </a>
      SP LAA
      <span title="Angels interested in bringing back Jason Vargas">
       <a class="playerLink" href="http://bbroto.baseball.cbssports.com/players/playerpage/556425" subtab="Update">
        <img border="0" height="10" src="http://sports.cbsimg.net/images/news-note-recent.gif" width="10"/>
       </a>
      </span>
      - Dropped
     </br>
    </td>

我只想显示没有子选项卡=“ Update”的块。但是我无法弄清楚如何使用BeautifulSoup在Python循环中引用子选项卡。这是我尝试的:

        soup = BeautifulSoup(html)
        pl = soup.findAll('a',{'class': 'playerLink'})
        for a in pl:
            if a.subtab == "Update":
                print "UPDATE"
            else:
                print "Player Name: " + a.text

我还尝试引用findAll部分中的子类型:

        pl = soup.findAll('a',{'class': 'playerLink'}, {'subtype':0})

这些方法都不起作用。我的问题是,在所有情况下,该类都是“ playerLink”,因此子类型是我区分它的唯一方法。我是BS的新手,所以我不太擅长处理标签和属性。在第二个示例中,如果我只想要subtype = Update,但是我想要每个不存在子类型的标记,也许它会起作用。

f

a.attrs返回<a>的属性作为字典。您可以使用来检查<a>标记是否没有subtab属性'subtab' not in a.attrs

from bs4 import BeautifulSoup, SoupStrainer # pip install beautifulsoup4

player_links = SoupStrainer('a', 'playerLink')
soup = BeautifulSoup(html, parse_only=player_links)
names = [a.get_text().strip()
         for a in soup.find_all(player_links) if 'subtab' not in a.attrs]
print(names)
# -> ['Russell, Addison', 'Vargas, Jason']

我找不到文档中提到的位置,但似乎指定subtab=False也可以排除具有subtab属性的任何标签

from bs4 import BeautifulSoup, SoupStrainer # pip install beautifulsoup4

player_links = SoupStrainer('a', 'playerLink', subtab=False)
soup = BeautifulSoup(html, parse_only=player_links)
names = [a.get_text().strip()
         for a in soup.find_all(player_links)]
print(names)

如果找到的标签(player_links)没有嵌套,则可以忽略以下.find_all(player_links)调用:

from bs4 import BeautifulSoup, SoupStrainer # pip install beautifulsoup4

player_links = SoupStrainer('a', 'playerLink', subtab=False)
soup = BeautifulSoup(html, parse_only=player_links)
names = [a.get_text().strip() for a in soup]
print(names)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Python和BeautifulSoup访问网页中标签的标题属性

来自分类Dev

根据前一个标签使用BeautifulSoup解析HTML

来自分类Dev

VTD XML 解析。根据标签和属性获取值

来自分类Dev

使用 Python 和 BeautifulSoup 抓取 alt 标签

来自分类Dev

python beautifulsoup解析'a'标签和href时没有链接

来自分类Dev

使用beautifulsoup获取多个标签和属性数据

来自分类Dev

使用Python中的BeautifulSoup解析<TR> </ TR>标签并打印元素

来自分类Dev

使用jquery和textarea根据属性更改标签名称

来自分类Dev

使用javascript剥离标签(属性内的标签和嵌套标签)

来自分类Dev

使用BeautifulSoup内部标签进行解析

来自分类Dev

使用beautifulsoup从“td”标签解析整数

来自分类Dev

如何使用BeautifulSoup访问标签的属性值

来自分类Dev

如何使用Python和BeautifulSoup中的类过滤标签?

来自分类Dev

使用BeautifulSoup和Python从item标签获取地址文本

来自分类Dev

使用 python 和 BeautifulSoup 抓取不完整的标签

来自分类Dev

使用 Python、Selenium 和 BeautifulSoup 来抓取标签的内容?

来自分类Dev

使用BeautifulSoup提取<a>标签

来自分类Dev

BeautifulSoup和Python删除HTML标签

来自分类Dev

Python beautifulsoup 新标签和组织输入

来自分类Dev

Beautifulsoup 解析 html 标签异常

来自分类Dev

BeautifulSOUP和OpenStreetMap XML中的嵌套标签和属性

来自分类Dev

Python使用Beautifulsoup嵌套html标签

来自分类Dev

与BeautifulSoup和标签作斗争

来自分类Dev

使用XStream解析-空标签和集合

来自分类Dev

Javascript在标签标签和标签标签后隐藏内容

来自分类Dev

BeautifulSoup通过标签,属性,RegEx和迭代来扫描HTML

来自分类Dev

Beautifulsoup 找到没有值的标签和属性?

来自分类Dev

根据多个标签文本查找父标签-BeautifulSoup

来自分类Dev

如何使用Python中的BeautifulSoup解析多个正文标签中的文本?

Related 相关文章

  1. 1

    使用Python和BeautifulSoup访问网页中标签的标题属性

  2. 2

    根据前一个标签使用BeautifulSoup解析HTML

  3. 3

    VTD XML 解析。根据标签和属性获取值

  4. 4

    使用 Python 和 BeautifulSoup 抓取 alt 标签

  5. 5

    python beautifulsoup解析'a'标签和href时没有链接

  6. 6

    使用beautifulsoup获取多个标签和属性数据

  7. 7

    使用Python中的BeautifulSoup解析<TR> </ TR>标签并打印元素

  8. 8

    使用jquery和textarea根据属性更改标签名称

  9. 9

    使用javascript剥离标签(属性内的标签和嵌套标签)

  10. 10

    使用BeautifulSoup内部标签进行解析

  11. 11

    使用beautifulsoup从“td”标签解析整数

  12. 12

    如何使用BeautifulSoup访问标签的属性值

  13. 13

    如何使用Python和BeautifulSoup中的类过滤标签?

  14. 14

    使用BeautifulSoup和Python从item标签获取地址文本

  15. 15

    使用 python 和 BeautifulSoup 抓取不完整的标签

  16. 16

    使用 Python、Selenium 和 BeautifulSoup 来抓取标签的内容?

  17. 17

    使用BeautifulSoup提取<a>标签

  18. 18

    BeautifulSoup和Python删除HTML标签

  19. 19

    Python beautifulsoup 新标签和组织输入

  20. 20

    Beautifulsoup 解析 html 标签异常

  21. 21

    BeautifulSOUP和OpenStreetMap XML中的嵌套标签和属性

  22. 22

    Python使用Beautifulsoup嵌套html标签

  23. 23

    与BeautifulSoup和标签作斗争

  24. 24

    使用XStream解析-空标签和集合

  25. 25

    Javascript在标签标签和标签标签后隐藏内容

  26. 26

    BeautifulSoup通过标签,属性,RegEx和迭代来扫描HTML

  27. 27

    Beautifulsoup 找到没有值的标签和属性?

  28. 28

    根据多个标签文本查找父标签-BeautifulSoup

  29. 29

    如何使用Python中的BeautifulSoup解析多个正文标签中的文本?

热门标签

归档