在python列表中获取javascript结果
我使用此网站下载有关印度地区lat/lon的必要信息在python列表中获取javascript结果,javascript,jquery,python,phantomjs,Javascript,Jquery,Python,Phantomjs,我使用此网站下载有关印度地区lat/lon的必要信息 http://india.csis.u-tokyo.ac.jp/ 我可以使用python获取给定州的所有地区吗?例如,如果我选择州:马哈拉施特拉邦,我会在下一个下拉列表中看到阿科拉、莱加尔等地区的列表。我需要这些信息作为python列表 我可以看到调用了一个javascript函数,它从/api/目录获取数据 function setDistrictList() { var selected = ""; state = $(
http://india.csis.u-tokyo.ac.jp/
我可以使用python获取给定州的所有地区吗?例如,如果我选择州:马哈拉施特拉邦,我会在下一个下拉列表中看到阿科拉、莱加尔等地区的列表。我需要这些信息作为python列表
我可以看到调用了一个javascript函数,它从/api/目录获取数据
function setDistrictList() {
var selected = "";
state = $("#state_list").val();
districts = {};
url = "/api/getDistrictList";
我是否可以使用python以编程方式获取这个地区列表
更新:
我试过这个函数。但这将返回结果,而不是我期望的Java脚本下拉列表
def __getVillageMarkersFromWeb(self,query, state_code=None, district_code=None):
stateString = '"state":"' + state_code + '"' if state_code is not None else ""
districtString = ',"district":"' + district_code + '"' if district_code is not None else ""
f_param = '{' + stateString + districtString + '}'
params = urllib.urlencode({"q":query,"f":f_param})
url = "http://india.csis.u-tokyo.ac.jp/geocode-cgi/census_ajax_json.cgi"
http = httplib2.Http()
response, markers_xml = http.request(url, "POST", params)
dom = minidom.parseString(markers_xml)
markers = dom.getElementsByTagName("marker")
return markers
你可以用
BeautifulSoup允许您在使用Requests/urllib/urllib2从页面获取标记后,以具有特定类/id的元素为目标
然后,您可以在BS对象中循环并将每个对象保存到列表中
如果页面上的内容是用JavaScript生成的,则可以在刮取标记之前模拟JS。当然可以。因为您用[PhantomJS]标记了它,所以您可能需要一个PhantomJS解决方案。您可以通过Python中的Selenium驱动PhantomJS。你自己尝试一下,当你有特殊问题时再回来。