无法使用python beautifulsoup获取项目

时间:2017-12-05 18:28:37

标签: python beautifulsoup

我试图学习如何使用beautifulsoup + python进行网页剪贴画,我想从https://letterboxd.com/film/donnie-darko/中获取电影摄影师的名字,但我无法弄清楚如何隔离文字。我想要的html如下所示,我要输出的是"史蒂文海报":

<h3><span>Cinematography</span></h3>
<div class="text-sluglist">
    <p>
        <a href="/cinematography/steven-poster/" class="text-slug">Steven Poster</a> 
    </p>
</div>

在我的代码中我已经完成了soup.find(text =&#34; Cinematography&#34;),以及混合不同的问题,比如试图从a和p标签中找到item或get_text,但是......

3 个答案:

答案 0 :(得分:1)

我会使用正则表达式来解析汤对象以获得包含“cinematography”的链接。

{{1}}

答案 1 :(得分:0)

您也可以在不使用正则表达式的情况下执行相同的操作:

import requests
from bs4 import BeautifulSoup

res = requests.get('https://letterboxd.com/film/donnie-darko/')
soup = BeautifulSoup(res.text,'lxml')
item = soup.select("[href*='cinematography']")[0].text
print(item)

输出:

Steven Poster

答案 2 :(得分:-1)

使用CSS部分文本选择器:

soup.find('a[href*="cinematography"]').text