《2018年6月4日》【连续237天】
标题:Json库学习;
内容:
1.Encode过程:将一个python对象转换成json字符串的过程:
json.dumps()
对照表:
Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null
2.Decode过程:将json字符串转换成python对象的过程:
json.loads()
实例:下载json数据并解析:
以爬取淘宝评论为例:
随便在淘宝页面,点f12,点评论下一页,找到用户评论的链接;
先将json内容打印一下:
import re
import json
import requests
url='https://rate.tmall.com/list_detail_rate\
.htm?itemId=566103099120&spuId=940955239&sellerId=\
461123599&order=3¤tPage=2&append=0&content=1\
&tagId=&posi=&picture=&ua=098%23E1hvepvxvxgvUvCkvvvvv\
jiPPFLhAj1HRsSyAjthPmPwAjDbRsdyzjDWRL5hAjlHRphvCvvvphm\
CvpvZzMNl1EH4zYMNkYMGcpsN5r%2FAzWmrvpvEvvHtp56vvEP7dp\
hvmpmCuXbHvvvo7u6Cvvyv9Emd9pvvy7ervpvEvU2d68OvvCCo3Q\
hvCvmvphm5vpvhvvCCBvhCvvOv9hCvvvmtvpvIvvCvUvvvvvvvvh\
ZcvvmC7vvvBGwvvvUwvvCj1Qvvv99vvhNjvvmC7UyCvvO\
CvhE2lWAivpvUvvCCUkG4SRWEvpCW9XS0Y30HKfUpejHbAXZTKFyz\
Ov56D46Xe8tGV7zheugcnkxb5ah65tkOwZNZTEkXeEr07reYr2UpV\
j%2BO3w0AhE9XJ9kx6fItn1vDN9GCvvpvvPMMRphvCvvvphmrvpvE\
vU2tYCpvvvxtdphvmpmvkdVXvvmp%2F86Cvvyv9fJWapvvh1krvpvE\
vUHCJe6vvCPQdphvmpmv%2FWP9vvvZG46Cvvyv9PMHEpvvDWW%3D&is\
g=BOLiS6-XzSipTNACd3gasLt_JmiEm-c2KygDVyx6B9Wb_4N5FMM2XW\
hNKzsDb17l&needFold=0&_ksTS=1528128008374_2101&callback=jsonp2102'
content =requests.get(url)
print(content.text)
链接名略长;
接下来就是获取评论的代码了:
web_content =requests.get(url).text
content =re.findall(r'\w+[(]{1}(.*)[)]{1}',web_content,re.S) #除去多余部分
py_content =json.loads(content[0])
count =len(py_content['rateDetail']['rateList'])
for i in range(count):
print(py_content['rateDetail']['rateList'][i]['rateContent'])