Beautifulsoup:去除德国变音

问题描述

我对这一切都不熟悉,所以我需要一点帮助。对于一个 uni 项目,我试图从网站中提取成分,一般来说代码的工作方式应该是这样,但我只是不知道如何 最后得到“Bärlauch”而不是“B%C3%A4rlauch”。

我使用了beautifulsoup,代码如下:

URL = [...]

links = []

for url in range(0,10):
    req = requests.get(URL[url])
    soup = bs(req.content,'html.parser')
    
    for link in soup.findAll('a'):
        links.append(str(link.get('href')))

我不明白为什么它不能正常工作,尽管编码已经是 utf-8。 也许有人知道得更好。

谢谢!

解决方法

网址是网址编码的。请求的响应是 response 而不是 req(uest)。

URLS = [...]

links = []
for url in URLS:
    response = requests.get(url)
    soup = bs(response.content,'html.parser')
    
    for link in soup.find_all('a'):
        links.append(urllib.parse.unquote(link.get('href')))