我的要求是阅读一些页面,其中有许多链接可用 我必须停在假设第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
答案 0 :(得分:0)
如果不知道您所说的特定网站,这只是一个猜测,但是您感兴趣的网页中的链接是相对的而不是绝对的?如果您在for循环中重置网址时出现这种情况,则会将其设置为不完整的链接,例如/link.php而不是http://example.com/link.php,并且urllib不会知道该如何处理。如果您希望您感兴趣的所有链接都是相对的,那么您需要添加基本网址,然后再为其添加新链接。