weixin_46237158
2021-05-17 16:12
采纳率: 100%
浏览 70

爬取数据html页面时标签之间的内容没有了

爬取数据html页面时标签之间的内容没有了

用requests包爬取html页面时,返回的response里并未包含标签之间的内容

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • CSDN专家-HGJ 2021-05-17 16:28
    已采纳

    可能页面是异步加载的,要F12分析页面数据加载的链接参数传递,对数据进行post或get,参考https://blog.csdn.net/qq_38396897/article/details/82319193https://blog.csdn.net/weixin_46002631/article/details/110956309

    点赞 打赏 评论
  • CSDN专家-Time 2021-05-17 16:19

    建议将代码贴一下。

    我们复现一下你产生的问题。

    点赞 打赏 评论
  • 这应该是因为标签之间的内容是通过js读取外部json数据来动态更新的。
    requests只能获取网页的静态源代码,动态更新的取不到,
    对于动态更新的要用selenium 的 webdriver 爬取。 
     

    或者是通过F12控制台分析页面数据加载的链接,找到真正json数据的地址进行爬取。
     

    点赞 打赏 评论
  • 有问必答小助手 2021-05-17 17:10

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 打赏 评论
  • weixin_46237158 2021-05-17 20:12
    import requests
    import re
    
    
    url ="https://houxu.app/lives/83163"
    response =requests.get(url)
    
    urldate = r'<div id="root">(.*?)</div>"'
    url_list= re.findall(urldate,response.text)
    print(response.text)
    print(url_list)
    print(response.url)
    点赞 打赏 评论

相关推荐 更多相似问题