Я проверяю сайт, который вы просматриваете, и кажется, что сценарии уже включены в html-страницу, поэтому я думаю, что вам не нужно использовать webdriver, и вы можете просто использовать запросы и BeautifulSoup .
получить html-данные, используя запросы:
res = requests.get(url, headers=headers, params=params)
Затем добавьте текст html, чтобы получить теги сценария и найти, какие теги имеют var imgInfoData :
soup = BeautifulSoup(res.text, "html5lib")
scripts = soup.findAll('script', attrs={'type':'text/javascript'})
for script in scripts:
if "var imgInfoData" in script.text: #script with imgInfoData captured
return script.text.replace("var imgInfoData =","").strip()[:-1]
просто удалите
var imgInfoData =
и
;
текста, чтобы получить строковое значение, или вы можете использовать regex , чтобы получить строку json внутри текста.
Полный код:
import requests
from bs4 import BeautifulSoup
def getimgInfoData():
url = "https://land.naver.com/info/complexGallery.nhn"
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
params = {"newComplex":"Y",
"startImage":"Y",
"rletNo":"102235"}
res = requests.get(url, headers=headers, params=params)
soup = BeautifulSoup(res.text, "html5lib")
scripts = soup.findAll('script', attrs={'type':'text/javascript'})
for script in scripts:
if "var imgInfoData" in script.text: #script with imgInfoData captured
return script.text.replace("var imgInfoData =","").strip()[:-1]
return None
print(getimgInfoData())
, затем просто конвертируйте результат из getimgInfoData () в json , если хотите.