我试着提取这个页面右侧的内容:
https://portal.dnb.de/opac.htm?method=simpleSearch&cqlMode=true&query=idn%3D1173921214
的数据
当我们查看HTML时,信息存储在这个表中:
用我的代码片段,我无法到达我想要的文本。
def getDescriptionDNB():
description = f'https://portal.dnb.de/opac.htm?method=simpleSearch&cqlMode=true&query=9783125466302'
response = requests.get(description)
soupedDescription = BeautifulSoup(response.content, "html.parser")
text = soupedDescription.find(class_="amount").text
if text == "Treffer 1 von 1":
autor = soupedDescription.find_all("tr")
for i in autor:
test = i.findNext("td").text
print(test)
字符串
问题是,我不知道如何深入到内部的<td>
标记来获取我想要的信息。
你知道我怎样才能解决这个问题吗?
2条答案
按热度按时间aiazj4mn1#
tr
没有td
和没有关闭标签。*尝试选择更具体的元素,或者尝试将信息存储在
dict
中并按键选择。使用
css selectors
创建dict
:字符串
使用
pandas.read_html()
创建dict
:型
输出
基于你的片段的URL。
型
o8x7eapl2#
你需要把键/值对分开,就像前面指出的那样。坚持使用BeautifulSoup(你选择的工具)-
字符串
还有一些其他的事情。自己改进这个。相反,如果选择文档中的所有'tr',则选择表,然后选择表:
型
然后继续选择其中的行('tr')。