我正在尝试创建一个webcrawler,它解析页面上的所有html,获取一个指定的(通过raw_input
)链接,跟踪该链接,然后将该过程重复指定次数(再次通过raw_input
)。我能够抓住第一个链接,并成功地打印它。然而,我有问题“循环”整个过程,并通常抓住错误的环节。这是第一个环节
https://pr4e.dr-chuck.com/tsugi/mod/python-data/data/known_by_Fikret.html
(完全披露,此问题与Coursera课程的作业有关)
这是我的密码
import urllib
from BeautifulSoup import *
url = raw_input('Enter - ')
rpt=raw_input('Enter Position')
rpt=int(rpt)
cnt=raw_input('Enter Count')
cnt=int(cnt)
count=0
counts=0
tags=list()
soup=None
while x==0:
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
# Retrieve all of the anchor tags
tags=soup.findAll('a')
for tag in tags:
url= tag.get('href')
count=count + 1
if count== rpt:
break
counts=counts + 1
if counts==cnt:
x==1
else: continue
print url
我也参加了那个课程,在一个朋友的帮助下,我解决了这个问题:
我相信这就是你想要的:
代码现在将循环输入中指定的次数,每次它将在给定的位置使用href并将其替换为url,这样,每个循环将在树结构中进一步查看。在
我建议您使用变量的全名,这样更容易理解。此外,你可以把它们放在一行读出来,这样你的开头就更容易理解了。在
根据詹森斯的回答,我找到了解决办法
为我做了这个把戏!在
谢谢你的帮助!在
相关问题 更多 >
编程相关推荐