我在Python中使用BeautifulSoup4编写了一个程序,该程序从随机维基百科文章开始,仅抓取段落部分中的前两个链接。我想创建一棵树,在那里获取随机文章的前两个链接,然后转到这两个链接并抓取这些页面上的前两个链接,依此类推。自然地,使用递归是有意义的,但我被卡住了。Python中的递归网站树
这里是我的抽象代码:
def tree(link):
branch = get_links(link) # Function returns the first two links on the article in a list of strings
return tree(branch[0]), tree(branch[1])
origin = get_random_article() # Returns a link to a random Wikipedia article as a string
links = tree(origin)
此代码创建一个无限循环,很显然,我需要某种形式的迭代过程,或循环,以限制它。
这里是我的坚持是什么:
- 我需要某种限制的,以有多少分支创建,所以也没有无限循环
- 的一种方式返回所有的链接它发现一旦它创建了指定数量的分支
我将输出一个文件或某事的数据,但现在,任何关于如何创建这棵树的帮助非常感谢。
谢谢你在前进,
卢卡斯
你可以保持全局计数器或传递一个额外的参数的极限 –
不知道的方法,为什么你使用beautifulsoup独自做到这一点。 https://docs.scrapy.org/en/latest/faq.html –