(2019-03-20)beautifulsoup节点选择问题

2019-03-20  本文已影响0人  spiderzzZ

    beautifulsoup可以使用多种选择方式来匹配需要的节点,但按照CSS类名搜索tag的功能非常实用,注意此处关键字不是“class”,而是“class_”

,如下图所示:

    各个标签基本上都有一个class名所以使用此方法来搜索tag非常有效,具体用法为:

movies = soup.find_all("div",class_="movie-item-info")

    这就得到了所有所有class为movie-item-info的节点内容。注意,此处得到的仍然是列表形式:

’‘’‘’‘’‘’

<p class="star">

                主演:布丽·拉尔森,塞缪尔·杰克逊,本·门德尔森

        </p>

<p class="releasetime">上映时间:2019-03-08</p> </div>, <div class="movie-item-info">

<p class="name"><a data-act="boarditem-click" data-val="{movieId:1228761}" href="/films/1228761" title="把哥哥退货可以吗">把哥哥退货可以吗</a></p>

<p class="star">

                主演:桑尼·苏瓦美塔农,尤拉萨雅·斯帕邦德,尼查坤·抔勒威查固

        </p>

<p class="releasetime">上映时间:2019-03-15</p> </div>]

‘’‘’‘’‘

    仍然无法直接得到里面的内容,如果想要得到tag的内容,并且不要<p>这种标签的话仍然需要遍历movies并且得到movie.string(因为movies是列表形式,是不能.string来得到内容的。

    由于两个p节点是在同一个div节点之下,并且两个节点的class不同,所以可以以此来得到不同的p节点:

这样就可以得到电影名称和主演名字了,之后写入文档。

上一篇 下一篇

猜你喜欢

热点阅读