Python 美丽的乌苏。一个链接的搜索优化

Python 美丽的乌苏。一个链接的搜索优化,python,python-3.x,beautifulsoup,Python,Python 3.x,Beautifulsoup,我得到了一个从HTML页面到PDF文档的链接- for a in soup.find_all('a', {'class': 'doc'}, href=True): pdfLink = a['href'] 如果我确定只有一个链接。可以用一行代码吗 差不多- pdfLink = soup.find_all('a', {'class': 'doc'}, href=True) + additional keys 另外,我不需要整个标签,我只需要“href”的内容 来源于HTML: <a

我得到了一个从HTML页面到PDF文档的链接-

for a in soup.find_all('a', {'class': 'doc'}, href=True):
    pdfLink = a['href']
如果我确定只有一个链接。可以用一行代码吗

差不多-

pdfLink = soup.find_all('a', {'class': 'doc'}, href=True) + additional keys
另外,我不需要整个标签,我只需要“href”的内容

来源于HTML:

<a href="https://company.co/doc-specification/08de9a7c037e67e56dc847c7fb08e0a6/Specification.pdf" target="_blank" class="doc" onclick="dataLayer.push({'event': 'GTMevent', 'eventLabel': 'Specification PDF', 'eventAction': 'Product Page', 'eventCategory': 'Internal Link'});" data-toggle='tooltip' data-placement='bottom' data-original-title="Specification PDF">

来源于汤:

<a class="doc" data-original-title="Specification PDF" data-placement="bottom" data-toggle="tooltip" href="https://company.co/doc-specification/08de9a7c037e67e56dc847c7fb08e0a6/Specification.pdf" onclick="dataLayer.push({'event': 'GTMevent', 'eventLabel': 'Specification PDF', 'eventAction': 'Product Page', 'eventCategory': 'Internal Link'});" target="_blank">

如果您知道页面上只有一个链接,那么使用
soup.find('a',{class':'doc'},href=True)
应该可以工作:无
是必需的


这将找到doc类链接的第一个实例。

使用CSS选择器
选择一个将找到第一个实例的链接

soup.select_one('a.doc[href]')将标识类名为doc且具有href属性的锚定标记

所以获取href值

pdfLink = soup.select_one('a.doc[href]')['href']

您好,我可以知道为什么您没有接受或投票您在前面的所有问题中得到的任何答案吗?关于当人们回答时应该做什么的指导可以在这里找到:您好。对不起,我是新来的。我点击了所有答案上的向上箭头,但他们写道我还没有权利,我的投票被计算但没有显示。也许我做错了什么,我会再试一次。是的,但我不需要整个标签,我只需要“href”的内容。使用Kunduk的方法,你可以使用这个
doc\u link=soup.find('a',{'class':'doc'})['href']
。打印
doc\u链接
,应该可以使用。我尝试了很长时间使用这种方法,但仍然没有得到结果。我在第一条消息中添加了完整的HTML片段,你能自己试试吗?Kunduk的方法对你有用吗?使用
doc\u link=soup.find('a',{'class':'doc'})['href']
,我可以打印出来:
https://company.co/doc-specification/08de9a7c037e67e56dc847c7fb08e0a6/Specification.pdf
谢谢,我试过了,但在第一篇文章中添加了错误“TypeError:“NoneType”对象不可订阅“你能共享链接吗?”。在HTML代码和Soup中,链接看起来不同。