如何解决如何使用BeautifulSoup和Python3.x使用任何<p> <span>等来打印或提取div类中的文本?
假设我在div类中有一个像这样的文本<div class="col span-3">Name</div>
。我尝试了但没有得到。
我需要提取名称,然后提取col span-9类中的文本。
这是我的代码。
import requests
from bs4 import BeautifulSoup
url = "https://v2.sherpa.ac.uk/id/publisher/1939?template=romeo"
r = requests.get(url)
htmlContent = r.content
soup = BeautifulSoup(htmlContent,'html.parser')
title = soup.title
print(title)
div_text = soup.find("div",{"class": "col span-3"}).get_text()
div_text = soup.find("div",{"class": "col span-9"}).get_text()
print(div_text)
当我使用div_text = soup.find("div",{"class": "col span-3"})
print(div_text)
时,我将给出带有所有标记的结果。但是当我使用.get_text()时,它仅给出第一个标签名称。
当我同时使用col span-3和col span-9来获取文本时,它给出的文本具有span-9类。
它仅给出一个结果,例如“ 1066 Tidsskrift for historie [English]”,而不是标题,该结果来自col col-9类。我需要这样”:名称:1066 Tidsskrift for historie [英语]; URL:http://www.universitypress.dk/shop/1066-tidsskrift-for-73c1.html;国家:丹麦;出版数量:1”
解决方法
第二次分配div_text时,您将对其进行覆盖。尝试这样的事情:
getGames
对于所需的实际数据,可以执行以下操作:
div_text_header = soup.find("div",{"class": "col span-3"}).get_text()
div_text_value = soup.find("div",{"class": "col span-9"}).get_text()
print(div_text_header)
print(div_text_value)
似乎您正在尝试获取所有数据。这应该起作用:
print(f'{div_text_header}: {div_text_value}')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。