我使用以下代码:
import requests
from bs4 import BeautifulSoup
def recursiveUrl(url, link, depth):
if depth == 5:
return url
else:
print(link['href'])
page = requests.get(url + link['href'])
soup = BeautifulSoup(page.text, 'html.parser')
newlink = soup.find('a')
if len(newlink) == 0:
return link
else:
return link, recursiveUrl(url, newlink, depth + 1)
def getLinks(url):
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
links = soup.find_all('a')
for link in links:
links.append(recursiveUrl(url, link, 0))
return links
links = getLinks("https://www.rogerebert.com/reviews/")
def unique(links):
uniqueValues = {}
for i in links:
uniqueValues.add(i)
for i in uniqueValues:
print(i)
unique(links)
我尝试了多种方法只打印唯一的条目,但我的输出是一个长长的列表,如下面所示,理想情况下,我应该只打印每个唯一的条目:
再次感谢你的帮助。你知道吗
尝试使用集合而不是使用列表。这样你就不会有同一个网站的多个实例。你知道吗
将代码
uniqueValues.add(i)
设置为dict
时出错 以前和dict
没有添加!你知道吗相关问题 更多 >
编程相关推荐