Selenium:从 Python 中的<脚本类型>标签中获取变量数据



所以我正在尝试使用selenium从网站上抓取数据,因为我对selenium和web抓取还很陌生。我想抓取<script type>标签下的一些数据,标签看起来像这样:

...
...
<script type="text/javascript">
var myData_1 = {"name" : ..... };
var myData_2 = {......};
var myData_id = 4565843;
var myData_mapping = {.....};
</script>
...
...

所以我需要抓取这个脚本标记中的数据,即所有var数据值。到目前为止,我只记下了这么多:

from selenium import webdriver
import pandas as pd
driver = webdriver.Chrome('/home/slothfulwave612/chromedriver_linux64/chromedriver')
driver.get('https://www.example.com') ## not the actual site
html = driver.page_source
print(html)
driver.close()

这只是打印网站的源代码,我应该在这里添加什么,这样我就可以从<script type标签中抓取数据。有人能帮忙吗?

使用方法.find_element_by_xpath()(docs(

script_label = driver.find_element_by_xpath("//script[@type = 'text/javascript']")

然后你可以刮去内部元素。

如果要打印脚本标记的所有内容,请使用innerHTML属性进行打印。

ele = driver.find_element_by_xpath("//script[@type = 'text/javascript']")
print(ele.get_attribute("innerHTML"))

输出:

var myData_1={"名称":…..};

var myData_2={……};

var myData_id=4565843;

var myData_mapping={…..};

最新更新