簡體   English   中英

如何使用python bs4提取javascript變量

[英]how to extract javascript variables by using python bs4

<script type="text/javascript">var csrfMagicToken = "sid:bf8be784734837a64a47fcc30b9df99,162591180";var csrfMagicName = "__csrf_magic";</script>

上面的腳本標簽來自一個網頁。

script = soup.find_all('script')[5]

通過使用上面的代碼行,我能夠提取我想要的腳本標簽,但我需要在 python 腳本中提取變量的值,我在 python 腳本中使用 BeautifulSoup 來提取數據。

可以

(?:var|let)\s+(\w+)\s*=\s*"([^"]+)"

在 regex101.com 上查看演示


注意:但是,在代碼上使用正則表達式通常有幾個缺點。 例如與上述,......。 比如let x = -10; 不會匹配,但將是完全有效的JavaScript代碼。 此外,(尚)不支持單引號 - 這完全取決於您的實際輸入。


話雖如此,你可以去:

(?:var|let)\s+
(?P<key>\w+)\s*=\s*
(['"])?(?(2)(?P<value1>.+?)\2|(?P<value2>[^;]+))

在 regex101.com 上查看另一個演示


這仍然讓您對轉義引號(如let x = "some \\" string";或注釋中的變量聲明)無能為力。通常,支持解析器解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM