json爬取京东评论
来源:互联网 发布:ubuntu 国内源 编辑:程序博客网 时间:2024/05/22 12:19
最近学习了Python中json模块,并用json爬取了京东商城中Apple iPhone 7 Plus (A1661) 手机的评价
①首先,获取json格式的文件,我用的是百度浏览器。
打开评论网页,单击鼠标右键—查看元素—蓝色框内为所要查看的内容。右面的请求地址即为评论网页。
②利用正则替换掉不需要的内容,最后保留的结果应为一个字典。用 json.loads() 解码字符串转换为python形式时格式很重要,在这里转换成字典形式。将开头和结尾去掉剩下一个字典,不可以使用正则直接匹配所需内容(原因目前还没有搞清楚)。
开头的 ‘fetchJSON_comment98vv106813(’ 需要用空格替换掉。
结尾的 ‘);’ 部分也需要用空格替换掉。剩下的即为一个字典。
整个代码如下:
#!/usr/bin/python#coding:utf-8import reimport jsonimport urllib2user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'headers = { 'User-Agent' : user_agent }file = open('jingdong.txt','w')def crawlProductComment(url,page): page = urllib2.urlopen(url) html = page.read().decode('gbk') print html data0 = re.sub(u'^fetchJSON_comment98vv106813\(', '', html)#re.sub即利用正则替换想替换的内容 reg1 = re.compile('\);') data1 = reg1.sub('', data0) data = json.loads(data1)#data1的内容为一个字典,用{}括起来的内容 for i in data['comments']: productName = i['referenceName'].encode('utf-8') file.write("商品全名:{}".format(productName)+'\n') commentTime = i['creationTime'].encode('utf-8') file.write("用户评论时间:{}".format(commentTime)+'\n') content = i['content'].encode('utf-8') file.write("用户评论内容:{}".format(content)+'\n')for i in range(0,10): url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv106813&productId=3133853&score=0&sortType=5&page=' + str(i) +'&pageSize=10&isShadowSku=0&fold=1' crawlProductComment(url,i)file.close()
爬取结果如下:
阅读全文
0 0
- json爬取京东评论
- 使用python爬取京东评论(json)
- python json 爬京东商品评论
- Json实现异步请求(提交评论)
- Json实现异步请求(提交评论)
- 爬取京东商品评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 用 JSON 实现侧边栏的最新评论列表
- iOS post一个json字符串到服务器 评论
- Rcurl小应用,爬取京东评论
- 剑指offer 47 孩子们的游戏(圆圈中最后剩下的数)
- 关于java中的list接口的认识(原码分析)
- opencv旋转图像
- Android.mk 文件语法详解
- onActivityResult方法的使用
- json爬取京东评论
- SharePreference的commit与apply的区别
- 【WinterCamp 2013】楼房重建 && 【NOIP2017提高A组模拟10.8】God Knows
- okhttp(网络框架)
- java基础之面向对象
- 虚拟机的安装,管理和快照
- ThinkPHP5地址栏传参不用设置路由
- Python: PS 滤镜--素描
- Android:一个设备安装多个包(生产包,测试包等)