如何使用python消除重复链接
我在编码方面是新手,我正试图从中获取所有独特的web链接。我试图将链接放入一个集合中,但输出返回为{'/'}。我不知道还有什么别的办法可以消除重复的。下面是我的代码。谢谢你的帮助如何使用python消除重复链接,python,duplicates,set,Python,Duplicates,Set,我在编码方面是新手,我正试图从中获取所有独特的web链接。我试图将链接放入一个集合中,但输出返回为{'/'}。我不知道还有什么别的办法可以消除重复的。下面是我的代码。谢谢你的帮助 from bs4 import BeautifulSoup import urllib import urllib.request import requests with urllib.request.urlopen('https://www.census.gov/programs-surveys/popest.
from bs4 import BeautifulSoup
import urllib
import urllib.request
import requests
with urllib.request.urlopen('https://www.census.gov/programs-surveys/popest.html') as response:
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
for link in soup.find_all('a', href=True):
links = (link['href'])
link = str(link.get('href'))
if link.startswith('https'):
print(link)
elif link.endswith('html'):
print(link)
unique_links = set(link)
print(unique_links)
假设所有链接都存储在名为
links1
的列表中。以下是如何在不使用set()
的情况下删除重复项:
假设所有链接都存储在名为
links1
的列表中。以下是如何在不使用set()
的情况下删除重复项:
您的集合只包含最后一个链接,请在前面声明
set()
,然后向其中添加
unique_links = set()
for link in soup.find_all('a', href=True):
link = str(link.get('href'))
if link.startswith('https'):
print(link)
elif link.endswith('html'):
print(link)
unique_links.add(link)
print(unique_links)
您的集合只包含最后一个链接,请在前面声明set()
,然后向其中添加
unique_links = set()
for link in soup.find_all('a', href=True):
link = str(link.get('href'))
if link.startswith('https'):
print(link)
elif link.endswith('html'):
print(link)
unique_links.add(link)
print(unique_links)
在for循环外部创建集合,然后在循环内部添加到集合
link_set = set()
for link in soup.find_all('a', href=True):
link_set.add(link['href']
在for循环外部创建集合,然后在循环内部添加到集合
link_set = set()
for link in soup.find_all('a', href=True):
link_set.add(link['href']
中间if语句的3输出是什么?我认为set(link)
是不必要的。您希望使用唯一链接追加到列表中。追加(链接)
。此外,如果要删除重复项,则需要类似于list(set(unique_links))
的内容,然后有一个列表供进一步处理。中间if语句的3输出是什么?我认为set(link)
是不必要的。您希望使用唯一链接追加到列表中。追加(链接)
。此外,如果要删除重复项,则需要类似于list(set(unique_links))
的内容,然后有一个列表供进一步处理。