本人小白这一段代码看不明白,请教大神
for i in range(0,count):
    html = urllib.request.urlopen(url, context=ctx).read()
    soup = BeautifulSoup(html, 'html.parser')
    tags=soup('a')
    url=tags[pos-1].get('href',None)
    print(url)

1个回答

//迭代count次
for i in range(0,count):
//使用urllib打开url对应的html文件为html变量
    html = urllib.request.urlopen(url, context=ctx).read()
//使用BeautifulSoup解释html为soup,类似ParseJSON,使其可以直接通过标签的条件进行查询
    soup = BeautifulSoup(html, 'html.parser')
//获取soup中所有的a(超链接)标签的对象为tags数组
//a标签一般写法为<a href="www.******.com/******/***">等
    tags=soup('a')
//获得tags中第pos个超链接标签对象的超链接url,且该url进入下个循环
    url=tags[pos-1].get('href',None)
//打印url
    print(url)

这段代码根据每个页面第pos个超链接指向的页面进行count次迭代,找到最终指向的网址。
例如页面a第pos个链接指向页面b,页面b指向c,页面c指向d
以a为起始循环count=3次会打印出b,c,d的url

P.S. 说清楚你不懂的是什么在问问题的时候很重要

JonathanYan
JonathanYan 回复benny817: 因为url在变,我假设的是url初始为a页面的url
12 个月之前 回复
benny817
benny817 感谢大神,还有一点不太明白,为什么是进入页面a再进入页面b,c,d,而不是一直在a
12 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问