我正在尝试从一个网站中抓取URL,然后使用一组将它们发送到.CSV文件,以便删除重复的URL。我了解什么是集合以及如何创建集合,只是不了解如何将网络抓取的数据发送到集合。我以为它在for循环中,但是我对Python还是陌生的,还不确定。这是我的代码的结尾:
url_list=soup.find_all('a')
with open('HTMLList.csv','w',newline="") as f:
writer=csv.writer(f,delimiter=' ',lineterminator='\r')
for link in url_list:
url=str(link.get('href'))
if url:
if 'https://www.example.com' not in url:
url = 'https://www.example.com' + url
writer.writerow([url])
f.close()
我知道我需要创建一个set()并将URL添加到该集合中,但是不确定如何这样做,并且我被告知它还将消除所有重复项,这将是很棒的。任何帮助将非常感激。谢谢!
答案 0 :(得分:1)
您可以创建一个集合,将URL添加到集合中,然后将其写入文件中
url_list=set()
for link in url_list:
url=str(link.get('href'))
if url:
if 'https://www.example.com' not in url:
url = 'https://www.example.com' + url
url_list.add(url)
with open('HTMLList.csv','w',newline="") as f:
writer=csv.writer(f,delimiter=' ',lineterminator='\r')
for i in url_list:
writer.writerow([i])