Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python消除重复链接_Python_Duplicates_Set - Fatal编程技术网

如何使用python消除重复链接

如何使用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.

我在编码方面是新手,我正试图从中获取所有独特的web链接。我试图将链接放入一个集合中,但输出返回为{'/'}。我不知道还有什么别的办法可以消除重复的。下面是我的代码。谢谢你的帮助

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))
的内容,然后有一个列表供进一步处理。