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

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 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用