使用python抓取javascript

使用python抓取javascript,javascript,python,beautifulsoup,Javascript,Python,Beautifulsoup,我正在尝试从以下站点刮取运行路线,到R中的geoprocess: 我正试图通过以下代码实现这一点: from bs4 import BeautifulSoup import urllib2 import csv import os import requests page1 = urllib2.urlopen("http://runkeeper.com/user/212579518/route/513771") soup = BeautifulSoup(page1) print(soup)

我正在尝试从以下站点刮取运行路线,到R中的geoprocess:

我正试图通过以下代码实现这一点:

from bs4 import BeautifulSoup

import urllib2
import csv
import os
import requests

page1 = urllib2.urlopen("http://runkeeper.com/user/212579518/route/513771")
soup = BeautifulSoup(page1)
print(soup)
当我打印结果时,我看到我需要的数据位于text/javascript上:


var routePoints=[{“纬度”:38.918704,“经度”:-77.036478,“三角洲距离”:0,“类型”:“起点”,“海拔”:40,“三角洲”:0}

我需要把字典里的变量擦掉。有什么建议吗


谢谢。

使用regexp去除方括号外的所有内容(或者,只选择最外层括号的内容),然后使用
json。在括号上加载

这将使用regex搜索汤数据,并将其加载到对象中供您使用

import re
import json

point_re = re.compile('.*routePoints =(.*);')
point_json = point_re.search(str(soup)).group(1)
point_data = json.loads(point_json)

谢谢,这似乎得到了我需要的所有要点。如果我想将此保存到csv文件,你的建议是什么?如果你对一本好的BeautifulSoup教程/书有任何建议,我将不胜感激。你可以使用,但只要你只是在转储nume,打开一个文件和写下你想要的行同样容易这将是相当容易的。