使用BeautifulSoup提取网页链接出现异常内容的原因咨询
问题原因解析
你提取到的这些非完整链接,本质是因为网站HTML里的<a>标签本身就用了这类href值,你的代码直接原样提取了这些原始值,具体分两种情况:
相对路径链接(如
/collections/xxx):
网站开发时为了简化代码,会用相对路径代替完整域名+路径。比如当前页面域名是stores.aceedventure.com,浏览器访问时会自动把/collections/xxx拼接成完整的可访问链接,但你的代码直接读取了<a>标签里写的原始href内容,所以就输出了未拼接的相对路径。锚点链接(如
#site-header-nav):
这类链接是页面内跳转锚点,作用是点击后跳转到当前页面中id为site-header-nav的元素位置(比如导航栏、页面某个区块),本身就不是指向外部页面的完整链接,网站里常用在导航菜单、回到顶部按钮上。你的代码提取了所有<a>标签的href,自然会包含这类锚点值。
另外,你的代码逻辑是直接抓取所有<a>标签的href属性,没有做任何过滤或转换,所以不管是相对路径、锚点还是完整链接,都会被原样提取出来。
内容的提问来源于stack exchange,提问作者bacon_man284
相关产品推荐
相关产品推荐

