我试图在一个网站的源代码中使用beauthoulsoup来获取文本。部分源代码如下所示:
<hr />
<div class="see-more inline canwrap" itemprop="genre">
<h4 class="inline">Genres:</h4>
<a href="/genre/Horror?ref_=tt_stry_gnr"
> Horror</a> <span>|</span>
<a href="/genre/Mystery?ref_=tt_stry_gnr"
> Mystery</a> <span>|</span>
<a href="/genre/Thriller?ref_=tt_stry_gnr"
> Thriller</a>
</div>
所以我一直在尝试用这些代码提取“恐怖”、“神秘”和“惊悚”:
^{pr2}$但回报是:
['\n', <h4 class="inline">Genres:</h4>, '\n', <a href="/genre/Horror?
ref_=tt_stry_gnr"> Horror</a>, '\xa0', <span>|</span>, '\n', <a
href="/genre/Mystery?ref_=tt_stry_gnr"> Mystery</a>, '\xa0', <span>|</span>,
'\n', <a href="/genre/Thriller?ref_=tt_stry_gnr"> Thriller</a>, '\n']
我对python和webscraping还是个新手,所以我希望能得到所有的帮助。谢谢!在
使用直接
BeautifulSoup.select()
函数将所需元素提取到CSS选择器:输出:
^{pr2}$https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors
试试这个,我在用html.parser. 如果您遇到任何问题,请告诉我们:
我用手机时请检查压痕。在
您可以使用BeautifulSoup
get_text()
方法ind而不是.contents
属性来获得您想要的:来自get_text() documentation:
如果只需要文档或标记的文本部分,可以使用get_text()方法。它以单个Unicode字符串的形式返回文档中或标记下的所有文本:
您可以指定一个用于将文本位连接在一起的字符串:
^{pr2}$您可以告诉Beautiful Soup从每一位文本的开头和结尾处去掉空白:
但此时您可能需要使用.stripped_strings生成器,并自己处理文本:
相关问题 更多 >
编程相关推荐