import requests
import json
import os
import time
import random
import jieba
from wordcloud import WordCloud
from imageio import imreadcomments_file_path = 'jd_comments.txt'
def get_jd_comments(page = 0):#获取jd评论url ='https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=1340204&score=0&sortType=5&page=%s&pageSize=10&isShadowSku=0&fold=1'%pageheaders = {#从哪个页面发出的数据申请,每个网站都是不一样的'referer': 'https://item.jd.com/1340204.html',#'user-agent'指的是用户代理,也就是让网站知道你用的哪个浏览器登录的'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',#哪一类用户想要看数据,是游客还是会员,建议使用登录后的'cookie': '__jdu=1766075400; areaId=27; PCSYCityID=CN_610000_610100_610113; shshshfpa=a9dc241f-78b8-f3e1-edab-09485009987f-1585747224; shshshfpb=dwWV9IhxtSce3DU0STB1%20TQ%3D%3D; jwotest_product=99; unpl=V2_ZzNtbRAAFhJ3DUJTfhFcUGIAE1RKU0ZCdQoWU3kQXgcwBxJdclRCFnQUR1FnGF8UZAMZWEpcRhFFCEdkeBBVAWMDE1VGZxBFLV0CFSNGF1wjU00zQwBBQHcJFF0uSgwDYgcaDhFTQEJ2XBVQL0oMDDdRFAhyZ0AVRQhHZHsfWwJmBRZYQ1ZzJXI4dmR9EFoAYjMTbUNnAUEpDURSeRhbSGcFFVpDUUcQdAl2VUsa; __jdv=76161171|baidu-pinzhuan|t_288551095_baidupinzhuan|cpc|0f3d30c8dba7459bb52f2eb5eba8ac7d_0_cfd63456491d4208954f13a63833f511|1585835385193; __jda=122270672.1766075400.1585747219.1585829967.1585835353.3; __jdc=122270672; 3AB9D23F7A4B3C9B=AXAFRBHRKYDEJAQ4SPJBVU4J4TI6OQHDFRDGI7ISQFUQGA6OZOQN52T3QYSRWPSIHTFRYRN2QEG7AMEV2JG6NT2DFM; shshshfp=03ed62977bfa44b85be24ef65fbd9b87; ipLoc-djd=27-2376-4343-53952; JSESSIONID=51895EFB4EBD95BA3B3ADAC8C6C73CD8.s1; shshshsID=d2435956e0c158fa7db1980c3053033d_15_1585836826172; __jdb=122270672.16.1766075400|3.1585835353'}try:response = requests.get(url, headers = headers)except:print('something wrong!')#获取json格式数据集comments_json = response.text[20:-2]#将获取到的json数据集转换为json对象comments_json_obj = json.loads(comments_json)#获取comments里面全部的内容comments_all = comments_json_obj['comments']for comment in comments_all:with open(comments_file_path, 'a+', encoding = 'utf-8') as fin:fin.write(comment['content'] + '\n')print(comment['content'])def batch_jd_comments():#每次写数据之前先清空if os.path.exists(comments_file_path):os.remove(comments_file_path)#我们指定page i的值时,它就可以获取固定页面的评论。for i in range(30):print('正在爬取'+str(i+1)+'页的数据....')get_jd_comments(i)#设置time用来模拟用户浏览,防止因为爬取太频繁导致ip被封。time.sleep(random.random()*5)#对获取到的数据进行分词
def cut_comments():with open(comments_file_path, encoding='utf-8')as file:comment_text = file.read()wordlist = jieba.lcut_for_search(comment_text)new_wordlist = ' '.join(wordlist)return new_wordlist#引入图片byt.jpg来制作相同形状的词云图
def create_word_cloud():mask = imread('byt.jpg')wordcloud = WordCloud(font_path='msyh.ttc',mask = mask).generate(cut_comments())wordcloud.to_file('picture.png')if __name__ == '__main__':create_word_cloud()

大家记得动手尝试啊!

https://www.xpanx.com/a/250.html

Python爬虫JD杜蕾斯源码相关推荐

  1. python爬虫技术源码_实战|手把手教你用Python爬虫(附详细源码)

    大家好,我是J哥,专注原创,致力于用浅显易懂的语言分享爬虫.数据分析及可视化等干货,希望人人都能学到新知识.最近J哥做了个爬虫小项目,感觉还挺适合新手入门的,于是迫不及待想分享给大家. 什么是爬虫? ...

  2. 实战|手把手教你用Python爬虫(附详细源码)

    什么是爬虫? 实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就- 首先,咱先看下爬虫的定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOA ...

  3. 爬虫实战|手把手教你用Python爬虫(附详细源码)

    什么是爬虫? 实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就- 首先,咱先看下爬虫的定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOA ...

  4. 最详细的爬虫实战 | 手把手教你用Python爬虫(附详细源码)

    什么是爬虫? 实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就- 首先,咱先看下爬虫的定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOA ...

  5. python爬虫代码实例源码_python爬虫代码示例分享

    这篇文章主要介绍了三个python爬虫项目实例代码,使用了urllib2库,文中示例代码非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下. python爬虫代码示例分享 一. ...

  6. 十一个爆火的Python爬虫实战项目源码【不用谢】

    目录 Python爬虫:爬取豆瓣电影中速度与激情8演员图片 Python爬虫:斗鱼弹幕相关信息保存到mongodb Python爬虫:抓取喜马拉雅电台音频 Python爬虫-抓包分析爬取实习僧全部招聘 ...

  7. 爬虫python代码-python爬虫(附源码)

    声明:本文内容皆来自网上 环境:ubuntu19.04.python3.x python包:requests.bs4.beautifulsoup.re.urllib.lxml.os 下载方式:$pip ...

  8. python爬虫代码实例源码_python爬虫及案例详解(附代码)

    安装三大库 1.requests 2.BeautifulSoup 3.lxml 有的网站做了相应的反爬虫,不能用普通方法爬取网站数据. 这里我用python爬取了几个网站的数据,分别存入csv文件,m ...

  9. python爬虫代码实例源码_python 淘宝爬虫示例源码(抓取天猫数据)

    爬取淘宝 天猫网站数据# -*- coding: utf-8 -*- #!/usr/bin/env Python import dateTime import URLparse import sock ...

最新文章

  1. 11WinDlg 对话框一
  2. C++ —— C++程序编译的四个过程
  3. 专科学计算机没有吗,我是专科生,学计算机信息管理专业的,我没有拿到..._考研_帮考网...
  4. 3DShader之移位贴图(Displacement Mapping)
  5. apache的源代码编译安装
  6. 可转债数据一览表集思录_可转债投资每周记录20200816
  7. Java回调机制总结
  8. GJB289A总线测试工装研究
  9. C中字符串常量字符数组字符常量
  10. IOS错误之----警告 Local declaration of 'XXX' hides insta
  11. 上海电信账单余额查询接口
  12. 写入iCloud在模拟器和真机上失败的解决办法
  13. (转)认识动作捕捉系统 浅谈三种主流解决方案
  14. 前尘往事入梦来 - IT十年回首
  15. 快来试试Python写的游戏《我的世界》
  16. 博弈论第一章 完全信息静态博弈
  17. mysql数据表关联_MySQL表关联的常用方式有哪几种
  18. 【Linux】Linux的共享内存
  19. CB测试证书及IECEE-CB体系
  20. Nginx-虚拟主机

热门文章

  1. MySQL数据库:pg和mysql语法区别
  2. Markdown支持的emoji图标
  3. Infinite-former:无限记忆变换器
  4. 谷歌显示不安全连接到服务器地址,教您解决Chrome浏览器提示“网站连接不安全”的方法...
  5. Mysql组复制(MGR)——技术细节
  6. 攻防世界——杂项(1-5)
  7. 《小狗钱钱》--chapter14~18--生活顺风顺水了起来
  8. 一款 API 测试神器,非常强
  9. 计算机双屏竖屏桌面背景6,科技:使用这些双显示屏壁纸让你的桌面变得更加美观...
  10. 速算24点(C++)