我正在尝试以编程方式找出链接的上下文。示例:提取链接时,如果它是导航节的一部分,例如页脚,页眉...,或者它是文本链接。 对我来说,“导航链接”是位于以下位置的链接:
到目前为止,我正在这样做以提取链接:
import requests
import lxml.html
URL = "https://stackoverflow.com/questions/64577372/bootstab4-tab-menu-collapse-like-navbar"
resp = requests.get(URL)
tree = lxml.html.fromstring(resp.text)
tags = tree.xpath("//a[@href]")
for a in tags :
context = get_context(a) # should be "navigational or textual"
print(a.get('href'), context)
def get_context(tag) :
threshold=0.8
parent = tag.parent() #or grandparent
parent_text = parent.content_text()
parent_links_text = [x.content_text() for x in parent.xpath("./a[@href]")]
parent_links_text = " ".join(parent_links_text)
link_text_ratio = "GET INTERSECTION HERE"
context = "navigational" if link_text_ratio > threshold else "textual"
return context
我的想法是看望父母或祖父母,看看我的链接集中度是否高于定义的阈值。
感谢您的帮助