斗罗大陆动漫网

python画唐三代码(python画熊猫代码)

斗罗大陆小罗罗 唐三 2021-11-03 378
前言

爬取豆瓣《斗罗大陆》第一集的评论,并制作词云图。豆瓣评论是非常适合新手操作学习爬虫的,因为它没有类似网易云平台这样一个加密过程。

python画唐三代码

利用爬取的内容制作成如下的词云图,可以发现观众总是痴迷于拿小说和动漫比。

python画唐三代码

实列代码

首先我们先了解连接URL和头部信息headers怎么获取.

右键点击打开网页源代码,按CTRL+F,搜索评论是否在这页代码中。如果在,那就是一个静态网页,那么我们直接爬取这页代码就可以得到我们想要的评论内容。python画唐三代码

回到豆瓣页面,按FN+F12,看到Network,点Headers,左上角刷新一下页面,就可以看到获取方式为GET,以及URl:url="https://movie.douban.com/subject/30313969/episode/1/",具体如图。python画唐三代码

往下拉到最底部,获取:headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"}python画唐三代码

准备工作完成,可以写代码了:

import requestsimport parselpage_count = 0#豆瓣评论有12页,所以循环(0,11)for page in range(0,11): page_count += 1 print("======================正在爬取第{}页数据========================".format(page_count)) url="https://movie.douban.com/subject/30313969/episode/1/" #注意字典格式 headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"} response = requests.get(url=url,headers = headers) html_data = response.text #将请求后的字符串格式解析成re,xpath,css进行内容的匹配,所以要转换数据类型 selector = parsel.Selector(html_data) #转换数据类型 #根据HTML格式写正则表达式:<span class="">小唐三可爱的,就是画面总是觉得暗暗的</span> comments_list = selector.xpath("//span[@class = '']/text()").getall() with open('《斗罗大陆》.txt',mode = 'a',encoding='utf-8') as f: #write() 方法将指定的文本写入文件 for comment in comments_list: f.write(comment.replace('\n','')) f.write('\n')#将爬取的内容换成字符串#"结巴"中文分词:做最好的Python中文分词组件 "Jieba" import jieba#r 只能读 (带r的文件必须先存在)f=open("《斗罗大陆》.txt",mode="r",encoding="utf_8")txt=f.read()txt_list=jieba.lcut(txt)#字符拼接接生成一个新的字符串string1=" ".join(txt_list)将字符串中出现率高但没有参考价值的文字去掉string2=string1.replace("天前","")string2=string2.replace("回应","")string2=string2.replace("我","")

看一下文字效果:

python画唐三代码

导入词云形状from scipy.misc import imread mk=imread("爱心形状.png")import wordcloud#词云图设置 wc = wordcloud.WordCloud(width= 1000, height = 800, background_color = 'white', font_path ='msyh.ttc', #mk=imread("爱心形状.png"), mask=mk, scale = 15, stopwords = set([line.strip() for line in open('《你好!李焕英!》.txt',mode='r',encoding='utf-8').readlines()]))#给词云图输入文字wc.generate(string2)#保存词云图wc.to_file('douluodalu.png')到指定目录下可以看对对应的图片,打开就是有词云图片import osprint(os.getcwd())

本文参考了csdn作者蜗牛壳上的小潘同志。

×