接上一章,动态页面抓取——抓取京东评论区内容。

url=‘https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1’

重点是productId——产品id、page——页码、pageSize:指定每一页展示多少评论

#coding:utf-8
import requests
import json,time def get_detail(url):
wbdata = requests.get(url).text
wbdata = wbdata[25:-2] data = json.loads(wbdata)
news = data['comments'] for n in news:
title = n['content']
print title
print '-'*20 for i in range(30):
url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=' +str(i) +'&pageSize=10&isShadowSku=0&fold=1'
#url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv399&productId=4560435&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1'
if requests.get(url).status_code == 200:
get_detail(url)
time.sleep(10)
print i

代码类似,不详细说明(get、json、数据处理)。

加入time.sleep(10)防止ip被禁。

结果如下:

----------------------------------------------------------

想比较直观的显示评论重点,因此加入jieba分词还有wordcloud词云(没有库的,通过pip install jieba)

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba,os
import jieba.analyse

text_from_file_with_apath = open('sss.txt').read()

wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split = " ".join(wordlist_after_jieba)
print wl_space_split
tags = jieba.analyse.extract_tags(text_from_file_with_apath, topK=30)
print tags
s = " ".join(tags)

my_wordcloud = WordCloud().generate(s)

plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()

简陋版词云效果。

wordcloud 默认使用了DroidSansMono.ttf 字体库,改一下换成一个支持中文的ttf 字库, 重新运行一下这十行代码,就可以了。

wordcloud词云默认不支持中文,可能会显示还多矩形框。

解决办法——改一下换成一个支持中文的ttf 字库

Python27\Lib\site-packages\wordcloud.py            中的 ----    DroidSansMono.ttf     替换修改为  simfang.ttf

-----------------------------------

在线词云生成网页:https://wordart.com/create

------------------------------------

参考文章:http://blog.csdn.net/dylanzr/article/details/60868969

http://python.jobbole.com/87496/?repeat=w3tc

python爬虫——京东评论、jieba分词、wordcloud词云统计的更多相关文章

  1. jieba分词wordcloud词云

    1.jieba库的基本介绍 (1).jieba是优秀的中文分词第三方库 中文文本需要通过分词获得单个的词语 jieba是优秀的中文分词第三方库,需要额外安装 jieba库提供三种分词模式,最简单只需掌 ...

  2. python使用matplotlib画图,jieba分词、词云、selenuium、图片、音频、视频、文字识别、人脸识别

    一.使用matplotlib画图 关注公众号"轻松学编程"了解更多. 使用matplotlib画柱形图 import matplotlib from matplotlib impo ...

  3. python jieba 库分词结合Wordcloud词云统计

    import jieba jieba.add_word("福军") jieba.add_word("少安") excludes={"一个", ...

  4. python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法

    本文旨在提供爬取豆瓣电影<我不是药神>评论和词云展示的代码样例 1.分析URL 2.爬取前10页评论 3.进行词云展示 1.分析URL 我不是药神 短评 第一页url https://mo ...

  5. 数字、字符串、列表、字典,jieba库,wordcloud词云

    一.基本数据类型 什么是数据类型 变量:描述世间万物的事物的属性状态 为了描述世间万物的状态,所以有了数据类型,对数据分类 为什么要对数据分类 针对不同的状态需要不同的数据类型标识 数据类型的分类 二 ...

  6. NLP实现文本分词+在线词云实现工具

    实现文本分词+在线词云实现工具 词云是NLP中比较简单而且效果较好的一种表达方式,说到可视化,R语言当仍不让,可见R语言︱文本挖掘——词云wordcloud2包 当然用代码写词云还是比较费劲的,网上也 ...

  7. python3 wordcloud词云

    wordclou:根据文本生成词云 一.词云设置 wc=WordCloud(width=400, height=200, #画布长.宽,默认(400,200)像素 margin=1, #字与字之间的距 ...

  8. wordcloud词云模块

    wordcloud词云模块 下载 pip install wordcloud 使用 import wordcloud##调用整个模块 form wordcloud import WordCloud## ...

  9. python预课05 爬虫初步学习+jieba分词+词云库+哔哩哔哩弹幕爬取示例(数据分析pandas)

    结巴分词 import jieba """ pip install jieba 1.精确模式 2.全模式 3.搜索引擎模式 """ txt ...

随机推荐

  1. Python MySQL 数据库

    python DB API python访问数据库的统一接口规范,完成不同数据库的访问 包含的内容: connection cursor exceptions 访问数据库流程: 1.创建connect ...

  2. kmp算法学习 与 传参试验(常回来看看)

    之前在codeforces上做了一道类似KMP的题目,但由于之前没有好好掌握,现在又基本忘记,并没能解答.下面是对KMP算法的一点小总结. 首先KMP算法的核心是纸在匹配过程中,利用模式串的前后缀来加 ...

  3. 云开发数据库VS传统数据库丨云开发101

    云开发数据库与传统数据库的不同 在小程序·云开发中,最核心的便是三大组件:数据库.云存储和云函数,从今天开始,我们将开始隔日更的专栏文章,云开发101,在第一周,我们将从最最核心的数据库开始说起. 云 ...

  4. 持续集成高级篇之Jenkins Pipeline 集成sonarqube

    系列目录 前面章节中我们讲到了Sonarqube的使用,其实Sonarqube获取msbuild结果主要是执行三个命令,开始标记,执行msbuild,结束标记,这些都是命令,是非常容易集成到我们ci流 ...

  5. Java Web总结(一)-- 入门

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  6. 湘潭大学oj循环1-5

    #include <stdio.h>#include <stdlib.h> int main(){   int b,s,n;    int a[101]; A:scanf(&q ...

  7. 实验吧CTF练习题---WEB---头有点大解析

    实验吧web之头有点大   地址:http://www.shiyanbar.com/ctf/29 flag值:HTTpH34der     解题步骤: 1.进入解题界面,看提示 2.说提示很多,再提示 ...

  8. Small Spring系列一:BeanFactory(一)

    人生如逆旅,我亦是行人. 前言 Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 准备 bean-v1.xml配置b ...

  9. Redis的实现(java)

    日常操作 public static void main(String[] args) { Jedis jedis = ); //1.开启事务 Transaction transaction = je ...

  10. TestNG(十四) 线程测试

    package com.course.testng.thread; import org.testng.annotations.Test; public class multiThread { @Te ...