python2.7爬取京东商品评论
发布时间
阅读量:
阅读量
大神请绕路,新手先别急着上车
为了更好地了解京东的商品评论地址,请注意他们的位置。表面上看像是在商品页面(item.jd.com)的实际位置却位于club.jd.com/review/这个URL上。要找到这些评价只需要访问浏览器中的开发者工具查看元素链接的地方仔细观察一下就可以定位到它们的位置了。
在 JD 网站评论页面上好好找找 comment-content 这个地方, 就能找到你想找的东西
#encoding:utf-8
import urllib
from snownlp import SnowNLP
r = False
l = ''
n = 0
sno = raw_input('please input goods number:\n')
f = open('jdpl_data3.txt','w')
try:
for i in range (1,64) :
p = urllib.urlopen('http://club.jd.com/review/%s-3-%d-0.html'%(sno,i))
for j in p.read():
if j == '\n':
#print l
if r :
if '</dd>' in l:
l = l.replace('\t','')
l = l.replace(' ','')
l = l.replace('<dd>','')
l = l.replace('</dd>','')
n = n+1
print l
f.write(str(n))
f.write(' ')
f.write(l)
f.write(' ')
s = SnowNLP(l.decode('gbk')).sentiments
f.write(str(s))
f.write('\n')
r = False
if 'comment-content' in l :
r = True
l = ''
else:
l = l + j
except Exception,e:
f.close()
f.close()
print 'All Finish!'
里面的snowinglp模块被设计用于执行情感分析任务。具体操作包括:将评论从其原始形式转换为Unicode编码,并调用该模块中的sentiment属性,则可获得一个情感评分。评分为中性等级(评分为0.5),评分越接近1,则表示对该内容的喜爱程度越高;评分越靠近0,则反映出对该内容的厌恶程度更为显著。
在【
%s代表我们最初输入的商品编码;
%d表示第几页评论内容;
在京东平台中的一份评语列表通常包含20条评语;
利用for循环结构遍历所有页面以获取全部评语信息。
在抓取网页的过程中,主要步骤包括首先定位到带有comment-content标签的区域,随后将变量r赋值为true状态.当获取到的HTML行中出现
程序抓取的评论会保存在同目录下的 jdpl_data3.txt 文件里面
最后实现了什么效果呢?请查看以下内容:http://pan.baidu.com/s/1c2kXPSW 或者下载资源包:
全部评论 (0)
还没有任何评论哟~
