使用漂亮的汤检索链接

时间:2019-12-28 16:11:14

标签: python html beautifulsoup

我试图进入此URL的“原始”链接。 它是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_ /”作为结果

1 个答案:

答案 0 :(得分:0)

基于注释,这是脚本,该脚本从ID为“ AHS” 的行中获取文本为“原始” 的链接:

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_