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.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

我如何解决这个问题?,如何避免重复值

在getList((函数中,将list_results替换为以下

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

通过以上操作,您将获得独特的输出。并且不需要在您的代码中进行更多更改

最新更新