当前位置: 首页 > news >正文

互联网网站定位设计网站高级感

互联网网站定位,设计网站高级感,静态网站建设步骤,微信官方网站登陆IDE#xff1a;大部分是在PyCharm上面写的 解释器装的多 → 环境错乱 → error#xff1a;没有配置#xff0c;no model 爬虫可以做什么#xff1f; 下载数据【文本/二进制数据#xff08;视频、音频、图片#xff09;】、自动化脚本【自动抢票、答题、采数据、评论、点… IDE大部分是在PyCharm上面写的 解释器装的多 → 环境错乱 → error没有配置no model 爬虫可以做什么 下载数据【文本/二进制数据视频、音频、图片】、自动化脚本【自动抢票、答题、采数据、评论、点赞】 爬虫的原理 通过模拟/控制浏览器客户端批量的向服务器请求数据 完成一个完整的爬虫需要的步骤 获取资源 – 发送请求 – 数据解析 – 保存数据 开发者工具 抓包 Headers 头部信息、数据包请求地址、请求方法、响应头、请求头 Cookie用户身份标识Host客户端指定想访问的域名地址Origin资源在服务器的起始位置Pragma请求地址的查看参数Referer防盗链告诉服务器我是从哪个网页跳转过来的User-agent浏览器身份标识Payload查看参数、请求参数Preview预览服务器数据Response响应/回答 有花括号{}的 半结构化数据 json数据 前后端数据交互常用 驼峰命名法 AaBb大驼峰 a_b小驼峰 以下是几个爬虫实例 1. 豆瓣电影 BV1NY411b7PR 实现步骤 step 明确需求 → 发送请求 → 获取数据 → 解析数据re正则表达式、css选择器、xpath → 保存数据 实现代码 实现代码 import requests # 数据请求模块 import parsel # 数据解析模块 import csv # 保存表格数据# fopen(douban.csv,modew,encodingutf-8,newline) # 中文乱码 fopen(douban.csv,modew,encodingutf-8-sig,newline)csv_writer csv.DictWriter(f,fieldnames[电影名字,详情页,#导演,#主演,演员,年份,国家,电影类型,评分,评论人数,概述, ]) csv_writer.writeheader() for page in range(0,250,25):# url https://movie.douban.com/top250url fhttps://movie.douban.com/top250?start{page}filterheaders {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36}response requests.get(urlurl, headersheaders)# print(response.text)selector parsel.Selector(response.text)lis selector.css(.grid_view li) # css选择器# selector.xpath(//*[classgrid_view]/li) # xpathfor li in lis:# span:nth-child(1) 组合选择器选择第几个span标签# text 获取标签的文本数据title li.css(.hd a span:nth-child(1)::text).get() # 标题href li.css(.hd a::attr(href)).get() # 详情页# li.xpath(//*[classhd]/a/span(1)/text()).get()info li.css(.bd p::text).getall()actor info[0].strip().split(主演) # strip()去字符串两端的空格split字符串分割# directoractor[0].replace(导演,).strip()# performeractor[0].replace(...,).replace(/,).strip()actors actor[0].replace(..., ).replace(/, ).strip() # 演员导演主演others info[1].strip().split(/)year others[0].strip() # 年份country others[1].strip() # 城市type others[2].strip() # 类型scores li.css(.star span:nth-child(2)::text).get() # 评分#comment li.css(.star span:nth-child(4)::text).get() # 评价人数comment li.css(.star span:nth-child(4)::text).get().replace(人评价, ) # 评价人数overview li.css(.inq::text).get() # 概述# print(title,actor,others)# print(director,performer,year,country,type)dit{电影名字:title,详情页:href,演员:actors,#导演:director,#主演:performer,年份:year,国家:country,电影类型:type,评分:scores,评论人数:comment,概述:overview,}csv_writer.writerow(dit)print(title, href, actors, year, country, type, scores, comment, overview, sep | )部分参数 部分参数来源 运行效果 部分效果 乱码问题 中文乱码问题的解决 乱码的效果就是它除了数字就全是问号哈哈哈哈。 # fopen(douban.csv,modew,encodingutf-8,newline) # 中文乱码 fopen(douban.csv,modew,encodingutf-8-sig,newline)2. 酷狗榜单 BV1ZU4y1B7yY 实现步骤 step 发送请求 → 获取数据 → 解析数据 单个榜单 # pip Install requests # 导入数据请求模块 import requests # 导入正则模块re是内置的不需要安装 # 在Python中需要通过正则表达式对字符串进⾏匹配的时候可以使⽤⼀个python自带的模块名字为re。 import re # 确定请求地址 urlhttps://www.kugou.com/yy/html/rank.html # 模拟伪装 headers 请求头 -- 开发者工具里面进行复制粘贴 headers{user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36} # 发送请求 response requests.get(urlurl,headersheaders) # print(response) # Response [200] //整体是一个响应对象200 状态码表示请求成功 #仅仅表示请求成功不一定得到想要的数据 # 获取数据获取服务器返回响应数据 response.text 获取响应文本数据 # print(response.text) # 解析数据 Hash_list re.findall(Hash:(.*?),, response.text) album_id_list re.findall(album_id:(.*?),, response.text) #print(Hash_list) #print(album_id_list) # for循环遍历 把列表里面元素一个一个提取出来 for Hash, album_id in zip(Hash_list, album_id_list):# print(Hash,album_id)link https://wwwapi.kugou.com/yy/index.php# 请求参数data {r: play/getdata,# callback:jQuery191022953264396493434_1663671714341,hash: Hash,dfid: 4FII5w3ArJSc0dPjmR1DFIit,appid: 1014,mid: 8c6815fe99744abfea7f557377764693,platid: 4,album_id: album_id,# album_audio_id: 39933554,_: 1663671714343,}music_data requests.get(urllink, paramsdata, headersheaders).json()# music_data requests.get(urllink, paramsdata, headersheaders).textaudio_namemusic_data[data][audio_name]audio_url music_data[data][play_url]# print(music_data)print(audio_name,:,audio_url)# 保存数据audio_content requests.get(urlaudio_url, headersheaders).contentwith open(music\\audio_name.mp3,modewb) as f:f.write(audio_content)获取请求地址 请求头 ‘user-agent’: ’ Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36’ 表示浏览器基本身份标识 第九行代码要注意如果引号写错了可能报错 AttributeError: ‘set’ object has no attribute ‘items’ 错误写法一 headers{user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36}headers是字典数据类型不是集合set。{ }是集合{ : }是字典 InvalidHeader: Invalid leading whitespace, reserved character(s), or returncharacter(s) in header value: ’ Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36’ 错误写法二 headers{user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36}多了个空格小错误要注意。 re模块findall方法 re.findall() →找到所有我们想要的数据内容 解析的时候hash、album 比较长一次不好截 错位❌写法 music_data requests.get(urllink, paramsdata, headersheaders).json()requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 不是json格式多了一部分把callback删掉可以或者用text response.json →获取json字典数据 取歌曲名字和url with open(music\\audio_name.mp3) as f: FileNotFoundError: [Errno 2] No such file or directory: ‘music\李玖哲 - 解脱.mp3’ 文件夹不存在music即使music文件夹已在仍报错可以改成 with open(music\\audio_name.mp3,modewb) as f: 效果 多个榜单 import requests import reurlhttps://www.kugou.com/yy/html/rank.html headers{user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36} response requests.get(urlurl,headersheaders) #print(response.text) music_list re.findall(a title(.*?) .*? hidefocustrue href(.*?), response.text)[1:]# print(music_list) # 从第几个开始爬3切片 # for title,index in music_list[3:]: for title,index in music_list:print(title)# url https://www.kugou.com/yy/html/rank.html# 模拟伪装 headers 请求头 -- 开发者工具里面进行复制粘贴headers {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36}# 发送请求response requests.get(urlindex, headersheaders)# print(response)# Response [200] //整体是一个响应对象200 状态码表示请求成功# 仅仅表示请求成功不一定得到想要的数据# 获取数据获取服务器返回响应数据 response.text 获取响应文本数据Hash_list re.findall(Hash:(.*?),, response.text)album_id_list re.findall(album_id:(.*?),, response.text)# print(Hash_list)# print(album_id_list)# for循环遍历 把列表里面元素一个一个提取出来for Hash, album_id in zip(Hash_list, album_id_list):# print(Hash,album_id)link https://wwwapi.kugou.com/yy/index.php# 请求参数data {r: play/getdata,# callback:jQuery191022953264396493434_1663671714341,hash: Hash,dfid: 4FII5w3ArJSc0dPjmR1DFIit,appid: 1014,mid: 8c6815fe99744abfea7f557377764693,platid: 4,album_id: album_id,# album_audio_id: 39933554,_: 1663671714343,}music_data requests.get(urllink, paramsdata, headersheaders).json()# music_data requests.get(urllink, paramsdata, headersheaders).textaudio_name music_data[data][audio_name]audio_name re.sub(r[\/:*?|],,audio_name)audio_url music_data[data][play_url]if audio_url:# print(music_data)print(audio_name, :, audio_url)# 保存数据audio_content requests.get(urlaudio_url, headersheaders).contentwith open(music\\ audio_name .mp3, modewb) as f:f.write(audio_content)第一个不要做个切片 第一个网址打开是这样的 music_list re.findall(a title(.*?) hidefocustrue href(.*?), response.text)[1:] requests.exceptions.MissingSchema: Invalid URL ‘’: No scheme supplied. Perhaps you meant http://? 报错位置 请求链接不对无法下载改代码让他直接跳过 OSError: [Errno 22] Invalid argument: ‘music\Stingray、Backstreet Boys - I Want It That Way (In the Style of Backstreet Boys|Karaoke Version).mp3’ 特殊字符 → windows系统文件名不能包含 re.sub(r[\/:*?|],,audio_name) 能跳过但是有重复就很怪 import requests import reurlhttps://www.kugou.com/yy/html/rank.html headers{user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36} response requests.get(urlurl,headersheaders) #print(response.text) music_list re.findall(a title(.*?) .*? hidefocustrue href(.*?), response.text)[1:]# print(music_list) # 从第4个开始爬3切片,0开始 # for title,index in music_list[3:]: for title,index in music_list:print(title)# url https://www.kugou.com/yy/html/rank.html# 模拟伪装 headers 请求头 -- 开发者工具里面进行复制粘贴headers {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36}# 发送请求response requests.get(urlindex, headersheaders)# print(response)# Response [200] //整体是一个响应对象200 状态码表示请求成功# 仅仅表示请求成功不一定得到想要的数据# 获取数据获取服务器返回响应数据 response.text 获取响应文本数据Hash_list re.findall(Hash:(.*?),, response.text)album_id_list re.findall(album_id:(.*?),, response.text)# print(Hash_list)# print(album_id_list)# for循环遍历 把列表里面元素一个一个提取出来for Hash, album_id in zip(Hash_list, album_id_list):# print(Hash,album_id)link https://wwwapi.kugou.com/yy/index.php# 请求参数data {r: play/getdata,# callback:jQuery191022953264396493434_1663671714341,hash: Hash,dfid: 4FII5w3ArJSc0dPjmR1DFIit,appid: 1014,mid: 8c6815fe99744abfea7f557377764693,platid: 4,album_id: album_id,# album_audio_id: 39933554,_: 1663671714343,}music_data requests.get(urllink, paramsdata, headersheaders).json()# music_data requests.get(urllink, paramsdata, headersheaders).texttry:audio_name music_data[data][audio_name]audio_name re.sub(r[\/:*?|], , audio_name)audio_url music_data[data][play_url]except Exception as KeyError:print(skip this musicbecuuse it cannot play)if audio_url:print(audio_name, :, audio_url)# 保存数据audio_content requests.get(urlaudio_url, headersheaders).contentwith open(music\\ audio_name .mp3, modewb) as f:f.write(audio_content)完善版本 import requests import reurlhttps://www.kugou.com/yy/html/rank.html headers{user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36} response requests.get(urlurl,headersheaders) #print(response.text) music_list re.findall(a title(.*?) .*? hidefocustrue href(.*?), response.text)[1:]# print(music_list) # 从第4个开始爬3切片,0开始 # for title,index in music_list[3:]: for title,index in music_list:print(title)# url https://www.kugou.com/yy/html/rank.html# 模拟伪装 headers 请求头 -- 开发者工具里面进行复制粘贴headers {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36}# 发送请求response requests.get(urlindex, headersheaders)# print(response)# Response [200] //整体是一个响应对象200 状态码表示请求成功# 仅仅表示请求成功不一定得到想要的数据# 获取数据获取服务器返回响应数据 response.text 获取响应文本数据Hash_list re.findall(Hash:(.*?),, response.text)album_id_list re.findall(album_id:(.*?),, response.text)# print(Hash_list)# print(album_id_list)# for循环遍历 把列表里面元素一个一个提取出来for Hash, album_id in zip(Hash_list, album_id_list):# print(Hash,album_id)link https://wwwapi.kugou.com/yy/index.php# 请求参数data {r: play/getdata,# callback:jQuery191022953264396493434_1663671714341,hash: Hash,dfid: 4FII5w3ArJSc0dPjmR1DFIit,appid: 1014,mid: 8c6815fe99744abfea7f557377764693,platid: 4,album_id: album_id,# album_audio_id: 39933554,_: 1663671714343,}music_data requests.get(urllink, paramsdata, headersheaders).json()# music_data requests.get(urllink, paramsdata, headersheaders).texttry:audio_name music_data[data][audio_name]audio_name re.sub(r[\/:*?|], , audio_name)audio_url music_data[data][play_url]if audio_url:print(audio_name, :, audio_url)# 保存数据audio_content requests.get(urlaudio_url, headersheaders).contentwith open(music\\ audio_name .mp3, modewb) as f:f.write(audio_content)except Exception as KeyError:passtry-except的妙用直接跳过一些错误/null的歌曲比之前的多榜代码好一些。 3. 千千音乐 查单曲的params # 千千音乐 import requests import time import hashliburlhttps://music.91q.com/v1/song/tracklink# 要其他歌曲修改这个params就可以了 params{ sign: aeb1fc52109d5dd518d02f4548936a0b, TSID: T10045980539, appid: 16073360,# 不变 timestamp:1658711978, }headers{ user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36}responserequests.get(urlurl,paramsparams,headersheaders)music_urlresponse.json()[data][path] music_titleresponse.json()[data][title] music_singerresponse.json()[data][artist][0][name] print(music_title,music_singer,music_url)4. 微博热搜 # pip install lxml # 微博热搜 import requests from lxml import etree import time urlhttps://s.weibo.com/top/summary?Refertop_hottopnav1wvr header{cookie:SINAGLOBAL7254774839451.836.1628626364688; SUB_2AkMWR_ROf8NxqwJRmf8cymjraIt-ygDEieKgGwWVJRMxHRl-yT9jqmUgtRB6PcfaoQpx1lJ1uirGAtLgm7UgNIYfEEnw; SUBP0033WrSXqPxfM72-Ws9jqgMF55529P9D9WWEs5v92H1qMCCxQX.d-5iG; UOR,,www.baidu.com; _s_tentry-; Apache1090953026415.7019.1632559647541; ULV1632559647546:8:4:2:1090953026415.7019.1632559647541:1632110419050; WBtopGlobal_register_version2021092517; WBStorage6ff1c79b|undefined, User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36} resp requests.get (url,headersheader) resp1 resp.content.decode(encodingutf-8,errorsignore) resp2etree.HTML(resp1) title resp2.xpath(//*[idpl_top_realtimehot]/table/tbody/tr/td/a/text()) print(time.strftime(%F,%R)微博热搜) for i in range(51):print (f{i} .join([title[i]])) time.sleep(1)后面还有很多截图未完但效果大概就是这样子的 5. 当当榜单 书籍数据 # 导入数据请求模块 import requests # 导入数据解析模块 import parsel # 导入csv模块 --- 内置模块 不需要安装 import csv# 创建文件 f open(书籍data25页.csv, modea, encodingutf-8, newline) # f文件对象 fieldnames 字段名 --- 表格第一行 作为表头 csv_writer csv.DictWriter(f, fieldnames[标题,评论,推荐,\作者,日期,出版社,售价,\原价,折扣,电子书,详情页,]) # 写入表头 csv_writer.writeheader()1. 发送请求, 模拟浏览器对于url发送请求- 等号左边是定义变量名- 模拟浏览器 --- 请求头headers --- 在开发者工具里面复制粘贴 字典数据类型一种简单反反爬手段, 防止被服务器识别出来是爬虫程序- 使用什么请求方式, 根据开发者工具来的for page in range(1, 26): # 1,26 是取1-25的数字, 不包含26# 确定请求网址url fhttp://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-{page}# 模拟浏览器 --- 请求头headers {# User-Agent 用户代理 表示浏览器基本身份标识user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36}# 发送请求 返回的响应对象 --- Response [200]: 表示对象 response 响应回复 200状态码 表示请求成功response requests.get(urlurl, headersheaders)print(response)# 2. 获取数据, 获取服务器返回响应数据 --- 开发者工具里面 response print(response.text)3. 解析数据, 提取我们想要数据内容, 书籍基本信息根据得到数据类型以及我们想要数据内容, 选择最适合解析方法:- re正则表达式- css选择器- xpathxpath --- 根据标签节点提取数据css选择器 --- 根据标签属性提取数据内容css语法匹配 不会 1 会的 2复制粘贴会不会 --- ctrl C ctrl v# 转数据类型 Selector xpathNone datahtml xmlnshttp://www.w3.org/1999/x...selector parsel.Selector(response.text)# 第一次提取 提取所有li标签 -- 返回列表, 元素Selector对象lis selector.css(.bang_list_mode li)# for循环遍历 之后进行二次提取 我们想要内容for li in lis:attr() 属性选择器 a::attr(title) --- 获取a标签里面title属性get() 获取一个 第一个 title li.css(.name a::attr(title)).get() # 标题star li.css(.star a::text).get().replace(条评论, ) # 评论recommend li.css(.tuijian::text).get().replace(推荐, ) # 推荐author li.css(.publisher_info a::attr(title)).get() # 作者date li.css(.publisher_info span::text).get() # 日期press li.css(div:nth-child(6) a::text).get() # 出版社price_n li.css(.price .price_n::text).get() # 售价price_r li.css(.price .price_r::text).get() # 原价price_s li.css(.price .price_s::text).get().replace(折, ) # 折扣price_e li.css(.price .price_e .price_n::text).get() # 电子书href li.css(.name a::attr(href)).get() # 详情页# 保存数据#源码、解答、教程加Q裙261823976dit {标题: title,评论: star,推荐: recommend,作者: author,\日期: date,出版社: press,售价: price_n,原价: price_r,\折扣: price_s,电子书: price_e,详情页: href,}# 写入数据csv_writer.writerow(dit)print(title, star, recommend, author, date, press, price_n, price_r, price_s, price_e, href, sep | )获取评论 短评 长评 一开始能用后来报错就用扣钉重新运行了一下可以。 raise RequestsJSONDecodeError(e.msg, e.doc, e.pos) requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0) # 导入数据请求模块 import time import requests import re for page in range(1, 11): # 第1-第10页的评论time.sleep(1.5)# 确定网址url http://product.dangdang.com/index.php# 请求参数data {r: comment/list,productId: 27898031,#productId: 25201859, # 《钝感力》categoryPath: 01.43.77.07.00.00,mainProductId: 27898031,#mainProductId: 25201859,mediumId: 0,pageIndex: page,sortType: 1,filterType: 1,isSystem: 1,tagId: 0,tagFilterCount: 0,template: publish,long_or_short: short,# 短评}headers {Cookie: __permanent_id20220526142043051185927786403737954; dest_areacountry_id%3D9000%26province_id%3D111%26city_id%20%3D0%26district_id%3D0%26town_id%3D0; ddscreen2; secret_keyf4022441400c500aa79d59edd8918a6e; __visit_id20220723213635653213297242210260506; __out_refer; pos_6_start1658583812022; pos_6_end1658583812593; __trace_id20220723214559176959858324136999851; __rpmp_27898031.comment_body..1658583937494%7Cp_27898031.comment_body..1658583997600,Host: product.dangdang.com,Referer: http://product.dangdang.com/27898031.html,#Referer: http://product.dangdang.com/25201859.html,User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36,}response requests.get(urlurl, paramsdata, headersheaders)html_data response.json()[data][list][html]content_list re.findall(spana href.*? target_blank(.*?)/a/span, html_data)for content in content_list:with open(评论.txt, modea, encodingutf-8) as f:f.write(content)f.write(\n)print(content)对一下最后一句评论对的上。# 《钝感力》最后一句评论是质量挺好印刷纸质都很好内容上觉得有道理又不是很能说服人个人感受 词云显示 import jieba import wordcloud #import imageio import imageio.v2 as imageio # 读取图片 py imageio.imread(python.gif) # 打开文件 f open(评论.txt, encodingutf-8) # 读取内容 txt f.read() # jieba模块进行分词 --- 列表 txt_list jieba.lcut(txt) print(txt_list) # join把列表合成字符串 string .join(txt_list) # 使用词云库 wc wordcloud.WordCloud(height300, # 高度width500, # 宽度background_colorwhite, # 背景颜色font_pathmsyh.ttc, # 字体scale15, # 轮廓stopwords{的, 了, 很, 也}, # 停用词maskpy # 自定义词云图样式 ) wc.generate(string) # 需要做词云数据传入进去 wc.to_file(1.png) # 输入图片关于词云 词云wordcloud 安装 pip install wordcloud实现步骤 读取词云的文本文件 → WordCloud().generate(txt) → to_image()建立词云图像文件 → show()显示词云 用法 # pip install wordcloud # pip install jieba # 中文-jieba import wordcloud import jieba# 注意把字体导进去如果用到要写中文要把能显示中文的字体很多都行导进去 wd wordcloud.WordCloud(font_pathA73方正行黑简体.ttf) # 配置对象参数 txt .join(jieba.cut(wordcloud python 猫咪 但是)) wd.generate(txt) # 加载词云文本 wd.to_file(wd.png) text.txt text dog dog dog dog dog dog fish cat cat# pip install wordcloud # from wordcloud import WordCloud 后面就用WordCloud import wordcloud # 读取文本文件 with open(text.txt) as f:txtf.read() wdwordcloud.WordCloud().generate(txt) wd.to_image().show() # 建立词云图像文件并显示 wd.to_file(wd.png)或者不从外面读写成字符串 # pip install wordcloud # from wordcloud import WordCloud 后面就用WordCloud import wordcloud # 文本 txttext dog dog dog dog dog dog fish cat cat wdwordcloud.WordCloud().generate(txt) wd.to_image().show() # 建立词云图像文件并显示 wd.to_file(wd.png)乱码问题 词云中文乱码问题 中文词云失败的解决方法jieba 文本文件中有中文在扣钉中会变框框在PyCharm中报错。 UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xab in position 53: incomplete multibyte sequence 解决方法 # pip install wordcloud # pip install jieba # from wordcloud import WordCloud 后面就用WordCloud import wordcloud import jieba # 读取文本文件 with open(text.txt,encodingutf-8) as f:txtf.read() # generate(txt)根据文本生成词云 wdwordcloud.WordCloud(font_pathA73方正行黑简体.ttf).generate(txt) wd.to_image().show() # 建立词云图像文件并显示 wd.to_file(wd.png) # 输出到文件jieba模块 jieba模块 安装模块 pip install jieba 分词模式 jieba 是Python中的中文分词库提供以下三种分词模式 精确模式 jieba.lcut(str) 全模式 jieba.lcut(str,cut_allTrue)搜索引擎模式 jieba.lcut_for_search(str) import jieba s 中国是一个伟大的国家 print(jieba.lcut(s)) # 精准模式 # 输出结果 [中国, 是, 一个, 伟大, 的, 国家] print(jieba.lcut(s,cut_allTrue)) # 全模式 # 输出结果[中国, 国是, 一个, 伟大, 的, 国家] s1 中华人民共和国是伟大的 print(jieba.lcut_for_search(s1)) # 搜索引擎模式 # 输出结果 # [中华, 华人, 人民, 共和, 共和国, 中华人民共和国, 是, 伟大, 的]jieba模块的cut()方法 import jieba txt我的妹妹是一只猫 wordsjieba.cut(txt) for word in words:print(word)Building prefix dict from the default dictionary … Dumping model to file cache /tmp/jieba.cache Loading model cost 0.952 seconds. Prefix dict has been built succesfully. 我 的 妹妹 是 一只 猫 jieba猫猫Python猫猫jieba Matplotlib jieba,Python# pip install wordcloud # pip install jieba # from wordcloud import WordCloud 后面就用WordCloud import wordcloud import jieba # 读取文本文件 with open(text.txt,encodingutf-8) as f:txtf.read() cut_text .join(jieba.cut(txt)) # generate(txt)根据文本生成词云 wdwordcloud.WordCloud(font_pathA73方正行黑简体.ttf).generate(cut_text) wd.to_image().show() # 建立词云图像文件并显示 wd.to_file(wd.png) # 输出到文件词云参数 与matplotlib联用 text dog dog dog dog dog dog fish cat cat 狗# pip install wordcloud # pip install jieba # from wordcloud import WordCloud 后面就用WordCloud import wordcloud import jieba import matplotlib.pyplot as plt # 读取文本文件 with open(text.txt,encodingutf-8) as f:txtf.read() # generate(txt)根据文本生成词云 wdwordcloud.WordCloud(font_pathA73方正行黑简体.ttf,background_colorlightblue,width800,height600).generate(txt) plt.imshow(wd) plt.savefig(wd.png) # 输出到文件 plt.show()plt.axis(off) # 关闭轴线 # pip install wordcloud # pip install jieba # from wordcloud import WordCloud 后面就用WordCloud import wordcloud import jieba import matplotlib.pyplot as plt # 读取文本文件 with open(text.txt,encodingutf-8) as f:txtf.read() # generate(txt)根据文本生成词云 wdwordcloud.WordCloud(font_pathA73方正行黑简体.ttf,background_colorlightblue,width800,height600).generate(txt) plt.imshow(wd) plt.axis(off) # 关闭轴线 plt.savefig(wd.png) # 输出到文件 plt.show()词云形状 WordCloud(mask) 一般的图片可能要先进行去底再使用 在线去底 https://www.aigei.com/bgremover/ # pip install wordcloud # pip install jieba # from wordcloud import WordCloud 后面就用WordCloud import wordcloud import jieba from PIL import Image import numpy as np import matplotlib.pyplot as plt # 读取文本文件 with open(text.txt,encodingutf-8) as f:txtf.read() cut_text .join(jieba.cut(txt)) bgimagenp.array(Image.open(python(已去底).gif)) # generate(txt)根据文本生成词云 wdwordcloud.WordCloud(font_pathA73方正行黑简体.ttf,\background_colorwhite,maskbgimage).generate(cut_text) plt.imshow(wd) plt.axis(off) plt.savefig(wd.png) # 输出到文件 plt.show()用 imageio 则不去底 # pip install wordcloud # pip install jieba # pip install imageio # from wordcloud import WordCloud 后面就用WordCloud import wordcloud import jieba import imageio import matplotlib.pyplot as plt # 读取文本文件 with open(text.txt,encodingutf-8) as f:txtf.read() cut_text .join(jieba.cut(txt)) bgimageimageio.imread(python.gif) # generate(txt)根据文本生成词云 wdwordcloud.WordCloud(font_pathA73方正行黑简体.ttf,\background_colorwhite,maskbgimage).generate(cut_text) plt.imshow(wd) plt.axis(off) plt.savefig(wd.png) # 输出到文件 plt.show()可视化词云包-Stylecloud https://github.com/minimaxir/stylecloud https://fontawesome.com/ https://fontawesome.dashgame.com/ https://fa5.dashgame.com/#/ import pandas as pd import jieba.analyse from stylecloud import gen_stylecloud with open(text.txt,encodingutf-8) as f:txtf.read() cut_text .join(jieba.cut(txt)) gen_stylecloud(textcut_text,icon_namefas fa-comment-dots,font_pathA73方正行黑简体.ttf,background_colorwhite,output_namewd.jpg) print(绘图成功)import stylecloud stylecloud.gen_stylecloud(file_pathtext.txt, icon_name fas fa-dog,font_pathA73方正行黑简体.ttf,palettecolorbrewer.diverging.Spectral_11, background_colorblack, gradienthorizontal) # palette调色板通过 palettable 实现[默认值:cartocolors.qualitative.Bold_5]字体颜色color import stylecloud stylecloud.gen_stylecloud(file_pathtext.txt, icon_name fas fa-dog,font_pathA73方正行黑简体.ttf,palettecolorbrewer.diverging.Spectral_11, background_colorblack, # 背景色colorswhite,# 字体颜色gradienthorizontal# 梯度)反向遮罩invert_mask import stylecloud stylecloud.gen_stylecloud(file_pathtext.txt, icon_name fas fa-dog,font_pathA73方正行黑简体.ttf,palettecolorbrewer.diverging.Spectral_11, background_colorblack, # 背景色colorswhite,# 字体颜色invert_maskTrue, # 反向遮罩gradienthorizontal)调色板palette palettable 网站 https://jiffyclub.github.io/palettable/ import stylecloud stylecloud.gen_stylecloud(file_pathtext.txt, icon_name fab fa-twitter,font_pathA73方正行黑简体.ttf,palettecartocolors.diverging.TealRose_7, background_colorwhite, # 背景色gradienthorizontal)import stylecloud stylecloud.gen_stylecloud(file_path评论.txt, icon_name fab fa-qq,font_pathA73方正行黑简体.ttf,palettetableau.BlueRed_6, background_colorwhite, # 背景色gradienthorizontal,size400,output_name书评.png)
http://www.dnsts.com.cn/news/115771.html

相关文章:

  • 池州网站制作公司上海连锁设计公司
  • 外贸网站建设网络公司软件技术专业介绍公布
  • 做旅游地产的网站和公司有哪些做电子小报的网站
  • 做网站杭州网络产品运营与推广
  • 郴州品牌网站建设推广西安网站建设网站制作
  • 5个不好的网站万网创始人张向东
  • 小米网站开发语言专业网站建设方案
  • 可以做音基题的音乐网站做网站写需求
  • 怎么做frontpage网站中信建设有限责任公司历任董事长
  • 电子商务网站建设与维护考试android studio教程
  • 河北省住房和城乡建设厅网站查ps设计师网站
  • 学做美食的视频网站台州做网站app的公司
  • 上海工商网上办事大厅官网厦门网站seo哪家好
  • 招聘网站建设销售怎么做订阅号
  • 网站做引流软件开发工具也叫
  • 创业计划书建设网站软件开发工程师需要什么证书
  • 网站注册局机械加工厂家
  • 凡客诚品网站惠州外发加工网
  • 那些企业网站做的漂亮wordpress wpdx主题
  • 世界网站制作wordpress接入微信支付
  • 猪八戒网做网站被骗做视频的软件模板下载网站有哪些内容
  • 做电子相册的大网站最大网站建设公司排名
  • 网站开发职位如果制作个人网站
  • 东营专业网站建设公司排行网站设计公司建设网站
  • 图片交易网站如何建设安卓安装wordpress
  • 备案时如何关闭网站如何网络营销
  • aaa云主机怎么做网站南宁网站建设代理
  • 收费看电影网站建设优化电池充电是关闭还是打开好
  • 汇编做网站不收费的企业查询网站
  • 网站建设主机配置中国跨境电商平台有多少