循环中的python urlib

时间:2016-09-24 02:06:05

标签: python urllib

我的要求是阅读一些页面,其中有许多链接可用 我必须停在假设第4个链接 我必须阅读并连接到该特定链接的URL 将链接内容保存在列表中 再次连接链接有这么多链接,我必须再次连接到第四位置的链接 假设重复此过程10次,最后打印连接链接的名称

我正在使用此代码 urlllib只工作一次

import urllib
from bs4 import *
url = raw_input('enter url:')
count = raw_input('enter count:')
position = raw_input('enter position:')
count = int(count)
position = int(position)
l = list()
p = 0

for _ in xrange(0,count):
    print 'retrieving:' + url
    html = urllib.urlopen(url).read()
    s = BeautifulSoup(html)
    tags = s.findAll('a')
    for tag in tags:
        w = tag.get('href')
        p = p + 1
        if p == position:
            url = "'" + w + "'"
            l.append(tag.contents[0])

print l

1 个答案:

答案 0 :(得分:0)

如果不知道您所说的特定网站,这只是一个猜测,但是您感兴趣的网页中的链接是相对的而不是绝对的?如果您在for循环中重置网址时出现这种情况,则会将其设置为不完整的链接,例如/link.php而不是http://example.com/link.php,并且urllib不会知道该如何处理。如果您希望您感兴趣的所有链接都是相对的,那么您需要添加基本网址,然后再为其添加新链接。