benny817 2019-08-16 12:01 采纳率: 100%
浏览 240
已采纳

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

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. 说清楚你不懂的是什么在问问题的时候很重要

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制