python提取网页array内容
python+soup,已经获取到网页,但是怎么提取如下数组里的数据:varuA=newArray();varuD=newHashMap();uA[0]=newArray...
python+soup,已经获取到网页,但是怎么提取如下数组里的数据:
var uA = new Array();
var uD = new HashMap();
uA[0] = new Array();
uA[0][0] = "01";
uA[0][1] = "\xd6\xd0\xc1\xb8\xc1\xc9\xc4\xfe\xc1\xb8\xd3\xcd\xbd\xf8\xb3\xf6\xbf\xda\xb9\xab\xcb\xbe\xb4\xf3\xc1\xac\xb4\xa2\xd4\xcb\xc3\xb3\xd2\xd7\xb9\xab\xcb\xbe";
uD.put("a-F", 0);
uA[1] = new Array();
uA[1][0] = "02";
uA[1][1] = "\xb4\xf3\xc1\xac\xba\xcf\xc8\xda\xb2\xd6\xb4\xa2\xd3\xd0\xcf\xde\xb9\xab\xcb\xbe"; 展开
var uA = new Array();
var uD = new HashMap();
uA[0] = new Array();
uA[0][0] = "01";
uA[0][1] = "\xd6\xd0\xc1\xb8\xc1\xc9\xc4\xfe\xc1\xb8\xd3\xcd\xbd\xf8\xb3\xf6\xbf\xda\xb9\xab\xcb\xbe\xb4\xf3\xc1\xac\xb4\xa2\xd4\xcb\xc3\xb3\xd2\xd7\xb9\xab\xcb\xbe";
uD.put("a-F", 0);
uA[1] = new Array();
uA[1][0] = "02";
uA[1][1] = "\xb4\xf3\xc1\xac\xba\xcf\xc8\xda\xb2\xd6\xb4\xa2\xd3\xd0\xcf\xde\xb9\xab\xcb\xbe"; 展开
2个回答
展开全部
首先确认你贴出来的这些都是被Python采集的字符串,假设为 s.
即:s = """var uA = new Array();
var uD = new HashMap;
uA[0] = new Array();.........."""
然后你针对你感兴趣的内容来过滤出你要的信息(比如你只对双引号内的内容感兴趣)
参考代码如下:
# -*- coding: cp936 -*-
s = """var uA = new Array();
var uD = new HashMap();
uA[0] = new Array();
uA[0][0] = "01";
uA[0][1] = "\xd6\xd0\xc1\xb8\xc1\xc9\xc4\xfe\xc1\xb8\xd3\xcd\xbd\xf8\xb3\xf6\xbf\xda\xb9\xab\xcb\xbe\xb4\xf3\xc1\xac\xb4\xa2\xd4\xcb\xc3\xb3\xd2\xd7\xb9\xab\xcb\xbe";
uD.put("a-F", 0);
uA[1] = new Array();
uA[1][0] = "02";
uA[1][1] = "\xb4\xf3\xc1\xac\xba\xcf\xc8\xda\xb2\xd6\xb4\xa2\xd3\xd0\xcf\xde\xb9\xab\xcb\xbe";
"""
# 逐行分析,这里可以看出每行结尾都有';' 可以用来做划分行的字符
for line in s.split(";"):
# 如果这一行的末尾是'"' 说明这是我们要的内容
if '"' == line[-1]:
# 双引号的起始位置
i = line.find('"')
# 获取双引号间的内容 这时会得到类似 "\xd6\xd0\xc1\xb8"这样的东西
text = line[i:]
# 我们需要把马上的东西解码一下,简单的用 eval 就行了
text = eval(text)
# 打印出你要的结果
print(text)
输出:
>>>
01
中粮辽宁粮油进出口公司大连储运贸易公司
02
大连合融仓储有限公司
希望对你有所帮助~~
展开全部
你这是什么代码啊?好象是BASIC。 或者是C#? 不象是JAVA啊。 也不是python
如果你用python + soup, 结果是一个对象集,直接用方法就拿出来了。
如果你用python + soup, 结果是一个对象集,直接用方法就拿出来了。
追问
是jsp网页提取出的源码的一部分,我用print page显示出的一段,就是里面定义数组的,我想把数组的内容提 出来。好吧,刚学不久,不知道用什么方法提取,能不能说一下?
“xa2\xd3\xd0\xcf\xde”这种的是中文打印出的乱码,应该是uA[0][0] = "01";uA[0][1] ="大豆";类似这样的
追答
嗯。忘记javascript这个事儿了。我对JS不太熟悉。 通常它不会直接用汉字,而是编码过后的东西。就是你上面写的所谓的“乱码”。这个方法我比较的推荐。
这里面的汉字。你直接在HTML里写出来。或者是赋值给某个HTML元素就可以显示出来了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询