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,它们都有这些标记