Python BeautifulSoup仅抓取URL的一部分

Python BeautifulSoup仅抓取URL的一部分,python,beautifulsoup,Python,Beautifulsoup,我正在尝试将一个页面中的URL列表刮到一个列表中,然后循环刮取器。下面的代码可以工作,但它只会刮取URL的一部分,而不是整个URL。例如:/racecards/perth/13-05-21 而不是 如何获取完整的URL import requests from bs4 import BeautifulSoup URL = "https://www.horseracing.net/racecards" reqs = requests.get(URL) content = re

我正在尝试将一个页面中的URL列表刮到一个列表中,然后循环刮取器。下面的代码可以工作,但它只会刮取URL的一部分,而不是整个URL。例如:/racecards/perth/13-05-21 而不是

如何获取完整的URL

import requests
from bs4 import BeautifulSoup

URL = "https://www.horseracing.net/racecards"
reqs = requests.get(URL)
content = reqs.text
soup = BeautifulSoup(content, "html.parser")
urls = []

for h in soup.findAll("h3"):
    a = h.find("a")
    try:
        if "href" in a.attrs:
            url = a.get("href")
            urls.append(url)
    except:
        pass

for url in urls:
    print(url)
您可以使用比将它们作为字符串连接更好的方法

从urllib.parse导入urljoin
基本url=”https://www.horseracing.net"
#代码省略。。。
# [...]
#当你抓取链接时,你添加了基本url,然后你就有了完整的链接
url=urljoin(基本url,a.get('href'))
#url现在是:https://www.horseracing.net/racecards/perth/13-05-21

谢谢卢卡斯,太好了