【问题标题】:retrieving link using beautiful soup使用美丽的汤检索链接
【发布时间】:2019-12-28 16:11:14
【问题描述】:

我试图进入此网址的“原始”链接。 它是 url + 'AHS_'(第一项)

url = http://pen.jamstec.go.jp/


html = requests.get(url).text
soup = BeautifulSoup(html, 'html5lib')
print (soup)

for item in soup.find_all('a'):
  result = item['href']
  print (result)

但是,它提供了过多的信息。

我怎样才能得到“AHS_/”作为结果

【问题讨论】:

  • 我不太明白。您想从 ID 为“AHS”的“原始”链接获取 URL 吗?
  • 对,也可以
  • 在询问依赖数据的代码时,重要的是要在您的问题中包含数据的最小示例,特别是如果该数据来自外部资源。您越容易让 我们 从您的问题中复制和粘贴(以便我们可以执行您的代码并测试我们的解决方案),您就越有可能获得回复。 - minimal reproducible example

标签: python html beautifulsoup


【解决方案1】:

根据评论,这里是从 ID 为 "AHS" 的行获取链接的脚本,文本为 "original"

import requests
from bs4 import BeautifulSoup

url = " http://pen.jamstec.go.jp/"

soup = BeautifulSoup( requests.get(url).text, 'html.parser' )

link = soup.select_one('td:contains("AHS") ~ td:has(a:contains("original")) a')['href']
print(link)

打印:

http://pen.jamstec.go.jp/AHS_

编辑:解析所有链接:

for tr in soup.select('table tr:has(a)'):
    tds = tr.select('td')
    if len(tds) != 4:
        continue
    print('{:<10} {}'.format(tds[0].text, tr.select_one('a')['href']))

打印件(ID 和第一个“原始”链接):

AHS        http://pen.jamstec.go.jp/AHS_
EGT        http://pen.jamstec.go.jp/EGT_
FHK        http://pen.jamstec.go.jp/FHK_
GDK        http://pen.jamstec.go.jp/GDK_
HVT        http://pen.jamstec.go.jp/HVT_
KBF        http://pen.jamstec.go.jp/KBF_
KEW        http://pen.jamstec.go.jp/KEW_
LAM        http://pen.jamstec.go.jp/LAM_
LBR        http://pen.jamstec.go.jp/LBR_
MMF        http://pen.jamstec.go.jp/MMF_
MSE        http://pen.jamstec.go.jp/MSE_
MTK        http://pen.jamstec.go.jp/MTK_
PFA        http://pen.jamstec.go.jp/PFA_
RHN        http://pen.jamstec.go.jp/RHN_
SGD        http://pen.jamstec.go.jp/SGD_
SHA        http://pen.jamstec.go.jp/SHA_
SSP        http://pen.jamstec.go.jp/SSP_
TFS        http://pen.jamstec.go.jp/TFS_
TGF        http://pen.jamstec.go.jp/TGF_
TKC        http://pen.jamstec.go.jp/TKC_
TKY        http://pen.jamstec.go.jp/TKY_
TOC        http://pen.jamstec.go.jp/TOC_
TOE        http://pen.jamstec.go.jp/TOE_
TOS        http://pen.jamstec.go.jp/TOS_
TSE        http://pen.jamstec.go.jp/TSE_
UAK        http://pen.jamstec.go.jp/UAK_
URY        http://pen.jamstec.go.jp/URY_
YGT        http://pen.jamstec.go.jp/YGT_

【讨论】:

  • 抱歉造成误会。我也需要得到其他人。 EGT_.....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多