【发布时间】:2015-11-26 04:39:45
【问题描述】:
我正在用 Python 编写代码,以使用 Beautiful soup 获取 URL 中的所有“a”标签,然后我使用位置 3 的链接,然后我应该点击该链接,我将重复这个过程大约 18 次.我包含了下面的代码,该过程重复了两次。我想不出一种方法可以在一个循环中重复相同的过程 18 次。任何帮助将不胜感激。
import re
import urllib
from BeautifulSoup import *
htm1= urllib.urlopen('https://pr4e.dr-chuck.com/tsugi/mod/python-data/data/known_by_Fikret.html ').read()
soup =BeautifulSoup(htm1)
tags = soup('a')
list1=list()
for tag in tags:
x = tag.get('href', None)
list1.append(x)
M= list1[2]
htm2= urllib.urlopen(M).read()
soup =BeautifulSoup(htm2)
tags1 = soup('a')
list2=list()
for tag1 in tags1:
x2 = tag1.get('href', None)
list2.append(x2)
y= list2[2]
print y
好的,我刚刚编写了这段代码,它正在工作,但我在结果中得到了相同的 4 个链接。循环中似乎有问题(请注意:我正在尝试循环 4 次)
import re
import urllib
from BeautifulSoup import *
list1=list()
url = 'https://pr4e.dr-chuck.com/tsugi/mod/python-data/data/known_by_Fikret.html'
for i in range (4): # repeat 4 times
htm2= urllib.urlopen(url).read()
soup1=BeautifulSoup(htm2)
tags1= soup1('a')
for tag1 in tags1:
x2 = tag1.get('href', None)
list1.append(x2)
y= list1[2]
if len(x2) < 3: # no 3rd link
break # exit the loop
else:
url=y
print y
【问题讨论】:
标签: python loops beautifulsoup