[英]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*"([^"]+)"
注意:但是,在代碼上使用正則表達式通常有幾個缺點。 例如與上述,......。 比如let x = -10;
不會匹配,但將是完全有效的JavaScript
代碼。 此外,(尚)不支持單引號 - 這完全取決於您的實際輸入。
話雖如此,你可以去:
(?:var|let)\s+
(?P<key>\w+)\s*=\s*
(['"])?(?(2)(?P<value1>.+?)\2|(?P<value2>[^;]+))
這仍然讓您對轉義引號(如let x = "some \\" string";
或注釋中的變量聲明)無能為力。通常,支持解析器解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.