[英]How Scraping Dynamic Variable Javascript value using BeautifulSoup and Requests
我正在抓取登錄頁面,我只需要 JAVASCRIPT TAG 中的 VAR SALT= 變量。 這是網站 = https://ib.muamalatbank.com/ib-app/loginpage
當我在這里閱讀所有答案時,使用 BeautifulSoup 和請求,我可以獲得這 2 個變量(可能是因為它是靜態的): var muserid='用戶 ID 必須填寫'; var mpassword = '必須填寫密碼';
但是當我嘗試 Scrape 這個 var SALT= 時,它給了我所有的 VAR 值。 我在python中的結果代碼
我只需要這個 VAR SALT 值,沒有引號 這里的 PIC = Source VAR SALT VALUE
我已經在使用 re.search、re.compile、re.findall,但我是新手,一直給我錯誤“對象不能串......”
from bs4 import BeautifulSoup as bs
import requests
import re
import lxml
import json
URL = 'https://ib.muamalatbank.com/ib-app/loginpage'
REF = 'https://ib.muamalatbank.com'
HEADERS = {'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0', 'origin': URL, 'referer': REF}
s = requests.session()
soup = bs(s.get(URL, headers=HEADERS, timeout=5, verify=False).text,"html.parser")
script = soup.find_all("script")[11]
ambilteks = soup.find_all(text=re.compile("salt=(.*?)"))
print(ambilteks)
注意:1)我需要幫助但對使用 Selenium 不感興趣,
請幫幫我,非常感謝
嘗試使用 re.compile 並將''
添加到您的正則表達式中,然后提取第一個結果。 未使用頁面響應進行測試。 首先驗證字符串是否確實存在於響應中。
p = re.compile(r"var salt='(.*?)'")
res = p.findall(s.get(URL, headers=HEADERS, timeout=5, verify=False).text)[0]
print(res)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.