当动态生成表时,如何使用Python BeautifulSoup转换表信息?

2024-03-28 20:48:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在不使用雅虎或纳斯达克的情况下获取收益日历信息,因为它们并不总是准确的。在

彭博社的网站上有收益信息,网址如下: https://www.bloomberg.com/markets/earnings-calendar/us

当我检查页面的html源代码时,我找到了控制日期选择日历工具的html代码块,并检查了我标记为EV#1、EV#2、EV#3和EV#4以供参考的事件代码。在

<div data-view-uid="1|0_5_9_1"> <----EV#1
    <div class="date-picker">  <--EV#2
        <input id="datepicker" value="04/10/2018" class="hasDatepicker" type="text"> <--EV#3
        <button type="button" class="ui-datepicker-trigger">button</button> <----EV#4
    </div>
</div>

我发现这些EV#n事件中的每一个都引用了一些处理单击事件的jQuery代码。在

当我在每个EV#n的web检查器中突出显示与事件相关的工具箱时,我会看到JQuery或Bubbling,DOM2的代码描述。在

在这个阶段,我不知道这是什么意思。我已经包括了描述以及哪些EV与下面的代码相对应。也许这是有帮助的。。在

JQuery:(EV#1)

^{pr2}$

气泡,DOM2:(EV#1,EV#2,EV#3,EV#4)

function An(e) {
  if (Gi) {
    var t = Cn(e);
    if (t && this.id == t.id) {
      var n = In(t);
      if (n && kn(e)) {
        var r = Rn(n);
        r.PX263 = d(t), re("PX217", r), ji++, Fi <= ji && (Gi = !1, Dn(!1))
      }
    }
  }
}

起泡,DOM2:(EV#1,EV#4)

u = b.handle = function(e) {
return typeof d === R || e && d.event.triggered === e.type ? void 
0 : d.event.dispatch.apply(u.elem, arguments)
}

jQuery:(EV#4)

function() {
return e.datepicker._datepickerShowing && 
e.datepicker._lastInput === t[0] ? e.datepicker._hideDatepicker() 
: e.datepicker._datepickerShowing && e.datepicker._lastInput !== 
t[0] ? (e.datepicker._hideDatepicker(), 
e.datepicker._showDatepicker(t[0])) : 
e.datepicker._showDatepicker(t[0]), !1
}

目标:

我没有JQuery的经验,但我知道它使用CSS描述符动态地改变web内容。在

我是否可以使用请求,并通过修改从日历工具中存储该值的任何变量来将“picked date”(一个日期字符串)发送到“date picking”小部件,从而刷新页面(对吗?)并根据我通过脚本传递的日期在表中显示收入信息?在

我是否需要模拟“click”事件以使页面与我的日期一起更新?在

使用bs4从表中获取数据不是问题,但我的主要问题是日期选择。在

提前谢谢


Tags: 代码div信息iddatetype事件datepicker
1条回答
网友
1楼 · 发布于 2024-03-28 20:48:21

如果在浏览器(F12)中打开“开发人员工具”并转到“网络”选项卡,则可以在更改日历上的日期时嗅出页面发出的请求。在执行此操作时,您可以将任何日期作为URL参数传入:

https://www.bloomberg.com/markets/api/calendar/earnings/US?locale=en&date=2018-04-30

相关问题 更多 >