我试图从一个网站上提取链接。这个网页不止一个页面,所以我使用一个循环来遍历不同的页面。但问题是soup和new links中的内容只是重复的。中使用的URL请求.get我已经仔细检查了这个链接,以确保URL的内容发生了变化,而且确实如此。在
无论循环的迭代次数如何,新的连接都保持不变
有人能解释一下我怎么能解决这个问题吗?在
def get_links(root_url):
list_of_links = []
# how many pages should we scroll through ? currently set to 20
for i in range(1,3):
r = requests.get(root_url+"&page={}.".format(i))
soup = BeautifulSoup(r.content, 'html.parser')
new_links = soup.find_all("li", {"class": "padding-all"})
list_of_links.extend(new_links)
print(list_of_links)
return list_of_links
您需要枚举您正在查找的
li
中的链接。最好将它们添加到set()
中以删除重复项。然后可以在返回时将其转换为已排序的列表:给你:
^{pr2}$如果只搜索
next page
按钮中的链接,而不是猜测要迭代多少页,这可能更有意义,例如:相关问题 更多 >
编程相关推荐