政策表达式截取json_json格式数据如何提取指定中文字符串。

本人新手,想编写一个小程序解决工作中的问题,但是在两个地方实际结果及调试结果存在很大差异,百度不得其解,特来请教!

程序的功能很简单,就是把快递单号利用requests提交到快递100的查询网站,然后利用正则表达式提取其中的特定中文字符串。如果存在就显示pass,不显示的话就讲条码保存到txt文本里面。代码如下:

**source = "签收"

temp = source.decode('utf8')

xx = ur'[^\x00-\xff]'

pattern = re.compile(xx)**

**def query_net(barcodes):

url = "http://www.kuaidi100.com/query?type=shentong&postid="

for barcode in barcodes:

new_url = url + barcode

html = requests.post(new_url).content

print barcode + "\t" +"is checking"

result_html =json.loads(html)

dic_123 = result_html["data"]

if not dic_123 : #依据返回值判定是否为数据错误

print "data error"

for key in dic_123 :

print key["context"]

key_new = str(key["context"])

results = pattern.findall(temp)

for result in results:

print result

else :

save_file(barcode)**

快递100返回的诗句是json格式,按照设想,上述代码可以完全匹配到预期的结果,但是实际不能匹配到指定字符串的条码并不能被保存起来。猜想问题因该是在中文字符串的正则表达式这块,单不知道如何解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值