Python-使用bs4刮擦Javascript并打印出值

时间:2019-01-05 00:44:54

标签: python beautifulsoup

因此,我一直在尝试创建一个脚本,该脚本具有带有倒计时的倒数计时,以后我将其转换。

html如下:

<script type="text/javascript">
                new Countdown('countdown_timer', '1547161260', 'https://stackoverflow.com/');
            </script>

然后我开始使用以下方法刮取:

try:
    time_countdown_tag = bs4.find_all('script', {'type': 'text/javascript'})
except Exception:
    time_countdown_tag = []

for countdown in time_countdown_tag:
    if 'new Countdown' in countdown.text.strip():
        print(countdown)

我的输出是:

<script type="text/javascript">
                new Countdown('countdown_timer', '1547161260', 'https://stackoverflow.com/');
            </script>

在这种情况下,我想打印出的是参数内部的数字 1547161260 -我很高兴能提供所有帮助,以便能够只打印出数字(时代)是否有可能?

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来匹配JS中包含正整数的部分:

import re
output = """<script type="text/javascript">
                new Countdown('countdown_timer', '1547161260', 'https://stackoverflow.com/');
            </script>"""
re.findall("\d+", output)