使用Python/BeautifulSoup替换一些文档URL,我试图获得a href的实际链接。现在,href不是一个HTML链接,而是一个“嵌入”链接,如果我在浏览器中将鼠标悬停在它上面,它会给出实际的URL
页面的“查看源”具有以下内容:
<li class="toctree-l2"><a class="reference internal" href="accessanalyzer.html">AccessAnalyzer</a></li>
现在,以下代码确实起作用了,并为我提供了href字符串:
for i in soup.findAll('a', attrs={'class': 'reference internal'}):
if "AccessAnalyzer" in i:
print(i)
link = i['href']
print(link)
(output)
<a class="reference internal" href="accessanalyzer.html">AccessAnalyzer</a>
accessanalyzer.html
我试图获取的是accessanalyzer.html的实际URL,它是:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/accessanalyzer.html
当我将鼠标悬停在href上或单击它时,我将进入该URL
如何获取URL? 还有,有一个包含嵌入链接而不是实际文本的href的概念的名称是什么?(这样我可以做更多的研究)
在检索HREF值之后,您必须进行一些额外的处理
您需要做的是获取源页面的基本URL路径,并附加HREF值
假设源页面是“https://example.com/stuff/source.html,该页面包含一个带有HREF“foo.html”的链接。您需要获取源页面的基本URL路径(即“https://example.com/stuff/“并附加HREF值以获取”https://example.com/stuff/foo.html“
您可以使用
dirname
函数来帮助您:然后将两部分连接在一起:
与what's described here.类似,我相信您实际上需要某种webdriver自动机(Selenium等)来模拟悬停并获取数据
相关问题 更多 >
编程相关推荐