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 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题