xyx 小号 2021-01-04 15:04 采纳率: 100%
浏览 422
已采纳

python beautifulsoup 解析html无法获得全部html代码

import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
import re
import sys

def main():
    haltsParse()

def haltsParse():
    answer = []
    url = "https://www.nasdaqtrader.com/trader.aspx?id=TradeHalts"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"
    }
    request = urllib.request.Request(url=url, headers=headers)
    response = urllib.request.urlopen(request)
    html = response.read().decode('utf-8')
    bs = BeautifulSoup(html, "html.parser")
    list = bs.find_all("div",{"id":"divTradeHaltResults"})
    element = list
    print(html)

if __name__=="__main__":
    main()

以上是我的python代码。我想要爬取的网页链接为https://www.nasdaqtrader.com/Trader.aspx?id=TradeHalts

在这个网页里面,我想要爬一个表格里面的数据,表格为

我按F12得到的网页html代码中,表格的数据是存在的,下图里面的tbody里面就是表格数据

但是当我运行我的python代码,python给我的反馈为这个div里面是空的

 

  • 写回答

3条回答 默认 最新

  • 天际的海浪 2021-01-04 18:51
    关注

    因为这个div里面的内容是用ajax动态加载的,
    而用request获取的是网页的源代码(就是“右键菜单->查看网页源代码”的内容),不包含ajax动态加载的内容。
    所以要找到ajax加载数据的请求https://www.nasdaqtrader.com/RPCHandler.axd
    直接获取https://www.nasdaqtrader.com/RPCHandler.axd的数据
     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码