Python Beautifulsoup返回值两次

Python Beautifulsoup返回值两次,python,beautifulsoup,Python,Beautifulsoup,我正在编写代码来提取一些值,但代码返回值两次 我的代码: def getResponse(url, user_agent): page = requests.get(url, headers={'user-agent': user_agent.random}) soup = BeautifulSoup(page.text, 'html.parser') return soup def getListing(soup): list_result = soup.f

我正在编写代码来提取一些值,但代码返回值两次

我的代码:


def getResponse(url, user_agent):
    page = requests.get(url, headers={'user-agent': user_agent.random})
    soup = BeautifulSoup(page.text, 'html.parser')
    return soup

def getListing(soup):
    list_result = soup.find("div", {"class": ["pageMainContent"]})
    list_results = list_result.find_all("div", {"class": ["fontPreviewTitle"]})
    for one_result in list_results:
        product_url = one_result.find("a").get("href")
        yield product_url



url = "https://www.1001freefonts.com/3d-fonts.php"

soup = getResponse(url, UserAgent())

for url in getListing(soup):
    print(url)

输出:

Saraths-MacBook-Air:~ evilslab$ /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 /Users/evilslab/Documents/Websites/www.futurepoint.dev.cc/dobuyme/SCRAPE/fonts.py
/orange-juice.font
/orange-juice.font
/from-cartoon-blocks.font
/from-cartoon-blocks.font
/cantate-beveled.font
/cantate-beveled.font
/wedgie.font
/wedgie.font
/alba.font
/alba.font

如何解决此问题?如何避免getListing函数中的重复值,用以下内容替换列表结果

list_results = list_result.find_all("div", {"class": ["fontPreviewTitle responsiveMobileCenter"]})

您将通过上述操作获得唯一的输出。对于setGetListingGroup中的url,您的代码中不需要再做任何更改:为什么返回两次?因为该页面有两次这些标记。例如,在page source中提到过两次,有两个div,它们都有这些标记