【问题标题】:Beautiful Soup Parse Python美丽的汤解析 Python
【发布时间】:2017-12-30 20:39:06
【问题描述】:

我使用BS4 捕获了以下html,但似乎无法搜索艺术家标签。 我已将这段代码分配给名为 container 的变量,然后尝试

print container.tr.td["artist"]

没有运气。 有什么建议吗?

<tr class="item">
  <!-- <td class="image"><a href="https://www.stargreen.com/kool-as-the-gang-44415.html" title="KOOL AS THE GANG " class="product-image"><img src="https://www.stargreen.com/media/catalog/product/cache/1/small_image/135x/9df78eab33525d08d6e5fb8d27136e95/K/o/KoolAsTheGang.jpg" width="135" height="135" alt="KOOL AS THE GANG " /></a></td> -->
  <td class="date">Sat, 30 Dec 2017</td>
  <td class="artist">kool as the gang</td>
  <td class="venue">100 club</td>
  <td class="link">
  <p class="availability out-of-stock">
    <span>Off Sale</span></p>
  </td>
</tr>

【问题讨论】:

    标签: python html web-scraping beautifulsoup


    【解决方案1】:

    你的语法错误,“艺术家”是“类”属性的值试试这个:

    from bs4 import BeautifulSoup
    
    html = """
    <tr class="item">
    <!-- <td class="image"><a href="https://www.stargreen.com/kool-as-the-gang-44415.html" title="KOOL AS THE GANG " class="product-image"><img src="https://www.stargreen.com/media/catalog/product/cache/1/small_image/135x/9df78eab33525d08d6e5fb8d27136e95/K/o/KoolAsTheGang.jpg" width="135" height="135" alt="KOOL AS THE GANG " /></a></td> -->
    <td class="date">Sat, 30 Dec 2017</td>
    <td class="artist">
                            kool as the gang                     </td>
    <td class="venue">100 club</td>
    <td class="link">
    <p class="availability out-of-stock">
    <span>Off Sale</span></p>
    </td>
    </tr>
    """
    
    soup = BeautifulSoup(html, 'html.parser')
    td = soup.find('td',{'class': 'artist'})
    print (td.text.strip())
    

    输出:

    kool as the gang
    

    【讨论】:

      【解决方案2】:

      另一种方式。

      使用select 方法在container 中查找class 为“艺术家”的元素。由于可能不止一个,但您知道只有一个,请选择列表中唯一的元素,并请求其text 属性。

      >>> HTML = open('sven.htm').read()
      >>> import bs4
      >>> container = bs4.BeautifulSoup(HTML, 'lxml')
      >>> container.select('.artist')[0].text
      '\n                        kool as the gang                     '
      

      【讨论】:

        猜你喜欢
        • 2018-05-08
        • 2014-08-11
        • 2013-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-05
        • 2019-01-26
        相关资源
        最近更新 更多