遵循美味汤的某些链接

时间:2015-12-03 03:18:12

标签: python-3.x web-scraping beautifulsoup web-crawler

我在这个问题上遇到了很多麻烦,而且我觉得我理解这项工作,但是现在我的脑袋因为把它撞在桌子上而有所作为。

我需要做的是制作一个程序,用一个漂亮的汤来浏览网页,然后它获得一定的链接(从页面的第3或第20个链接到任何地方),然后转到第3个(或第20个,或者无论多少数量)链接并尝试从该页面中反复找到第三个链接,一次又一次,指定的时间不确定(为了解释的目的,我将其保持在20以下。我需要在搜索之后找到最后一个(第三个)链接。

我已经获得了我的计划,但我无法通过第二次迭代!我确实找到了几个小时的方式得到了我的答案,但这是一个无限循环,这不会帮助我学习。

我想说这就是我要做的事情:

找到位置7的链接(第一页上的第7个链接)。请关注该链接。重复此过程5次。答案是您检索的链接的姓氏。

我有办法检索这个名字,只是在找出一个循环时遇到了麻烦!

我也有点过于热心,试图在一个小时内找到另一篇关于此事的帖子。有许多类似的,但没有我发现的这个确切的问题。谢谢你的时间。这是我到目前为止所拥有的。

from urllib.request import urlopen
from bs4 import BeautifulSoup

#first page url
url = 'insertwebsitehere.com' 
html = urlopen(url).read()
soup = BeautifulSoup(html)

# Retrieve all of the anchor tags
tags = soup('a')

taglist= []
count = 0

for tag in tags:
    name = tag.contents[0]
    newtag = tag.get('href',None)
    #print (newtag)
    # add count? count += 1 , then do something when it reaches a certain count?
    #taglist.append(newtag), this method didnt really work.

我是一名新编码员,所以我没有先进的技术就试图这样做,而且我不一定需要答案,只是帮助。

1 个答案:

答案 0 :(得分:0)

我是通过Coursera在Python for Informatics的这个Assignement。

对于重复一定次数的循环,我使用:

for _ in range(c)

c等于count = input(),因此用户可以选择要重复循环的次数,在我们的例子中是4次。