benny817
2019-08-16 12:01
采纳率: 35%
浏览 238

本人小白这一段代码看不明白,请教大神

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条回答 默认 最新

  • JonathanYan 2019-08-16 12:18
    已采纳
    //迭代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. 说清楚你不懂的是什么在问问题的时候很重要

    打赏 评论

相关推荐 更多相似问题