我正在尝试使用Python 3中的Selenium从下面的网页中删除数据:
如果将此网址视为网页来源(对于Chrome用户:view-source:https://www.whoscored.com/Matches/1285051/Live/England-Premier-League-2018-2019-West-Ham-Huddersfield),则文本中会包含一些JSON。我的目标是刮掉第一个非常重要的JSON,它位于'var matchCentreData'位。以下是一个片段:
<script type="text/javascript">
var matchCentreData = {"playerIdNameDictionary":{"14244":"Pablo Zabaleta",
"89998":"Manuel Lanzini","34693":"Marko Arnautovic","93026":"Felipe Anderson",
"300359":"Issa Diop","122980"
我能够抓取整个页面源代码,但是,我正在努力只提取上面的JSON。任何帮助将非常感激!
这就是你所需要的。
page_json = driver.execute_script("return JSON.stringify(matchCentreData)")
# Do what you want with the json.
刚才为我工作。如果你想要这个特别和页面html,那么这一步,以及你的页面源抓取逻辑。当你有这个时,无需从页面源中专门提取它。
您可能需要进行一些字符串操作。查看BeautifulSoup,我认为它将返回整个DOM,你可以做一些字符串工作来解析你的相关数据。
编辑:我看到你实际上试图从整个DOM字符串中提取json字符串。您尝试过什么子串/正则表达式?