在Python中解析Javascript

Rav*_*lil 2 python beautifulsoup python-2.7

我通常使用Beautiful Soup来解析我需要的html,但是我遇到了一些我想从这里得到的Javascript .

 <script>
function Model(){
    this.players = [{".....data......:""}];...etc
Run Code Online (Sandbox Code Playgroud)

我试着加载它...

import json
scrape_url = "https://swishanalytics.com/optimus/nba/daily-fantasy-projections?date=2016-12-15"

result = json.loads(scrape_url)
Run Code Online (Sandbox Code Playgroud)

但我得到"没有Json可以解码".不知道该怎么做.

Ale*_*all 10

您可以使用jsonfinder库从任意文本中提取JSON :

from jsonfinder import jsonfinder
import requests

scrape_url = "https://swishanalytics.com/optimus/nba/daily-fantasy-projections?date=2016-12-15"
content = requests.get(scrape_url).text
for _, __, obj in jsonfinder(content, json_only=True):
    if (obj and
            isinstance(obj, list) and
            isinstance(obj[0], dict) and
            {'player_id', 'event_id', 'name'}.issubset(obj[0])
            ):
        break
else:
    raise ValueError('data not found')

# Now you can use obj
print(len(obj))
print(obj[0])
Run Code Online (Sandbox Code Playgroud)