学习!学习!!学习!!!学习之外目的到此为止!
上东东的时候,突然给我弹了一个充气娃娃的广告,于是就点进去就看了一下评论,全是神评论啊。所以我就想着把大神们的评论们扒拉下来仔细瞅瞅,于是这篇文章就诞生了 ,纯属学习啊,什么是玻璃钢不要想入非非啊,还有,不喜勿喷!
首先我先找了某东最火娃娃,里面评论8w+条,这里面神荒野浪妻评论一定不少骑马打仗。所以决定从这个里面扒拉我们想要获取的数据
因为一些网站不喜欢外界的爬虫消耗自己的服务器的大量资源,因此它们会有自己反爬虫程序。如果不使用代理的话,他们就能识别出你是爬虫,从而给你进行重定向无数次,导致你的爬虫报错。所以我们要对我们的爬虫进行伪装。
那就需要带上我们的防爬header三兄弟了。当然这只是最基本的防爬措施。更多的反爬措施和技巧可以参考曾经它让我恼怒抓狂,刷卡消费但是现在我对它是赞不绝口!
cookie - 侧重于用户的类型,这里具体指的就是登录的用户呢还是游客
refer - 指的是用户从哪个页面发出网络的访问和数据的请求
user-agent 鸡缸杯指的现代建筑是访问后台服务器的是哪一个浏览器
首先找到咱们防止反爬的必须参数。
在获取数据的时候把它们加在header里面就可以获取到非空数据了。
接下来咱们先试试。
可以看到我们已经成功地获取到数据了。但是数据格式还需要进一步的处理。首先咱们来分析一下获取到的数据。
获取到的数据前面多了20位的'fetchJSON_comment98(',后面多了四位的']}'。所以我们首先要去掉这些多余的修饰符使之成为完成的json格式的数据。
json_data = response.text[20:-2]再来看看运行结果:
好了,已经初步实现了我们的目标。因为在咱们的目标只是评论而无需其他的参数。所以现在去网页分析一下这些评论所在的位置。
可以看到我们想要的评论彭健新内容是在comments下面的content中,曲玉权所以我们首先定位到comments中然后循环获取content里面的内容。
for comment in comments_all: print(comment['content'])好了我们现在已经成功的获取到了第一页的内容,后面的评论需要进行翻页操作,所以我们多翻几页找规律。
pageSize=10每页固定显示10条记录。
不同之处就在于这个参数page,所以可以确定页数是由它来控制的。所谓以我们可股票交易规则以设置一个变量来控制它,从而获取到全部页数的评论。
对get_spider_comments方法加入变量page,当我们指定page的值时,它就可以获取固定页面的评论。
在batch_spider_comments方法中sleep方法,用来模拟用户浏览,防止因为爬取太频繁导致ip被封。
for i in range(100): print('正在爬取' + str(i+1) + '页数据....') get_spider_comments(i) #批量获取评论方法 print('全国象棋甲级联赛;爬虫结束!')可以成功的获取到所要爬取的页数的全计算机性能部数据!
接下来咱们爬取数据的任务已经结束了。现在呢我想通过词云可视化分析一下c83它火的原因。
for comment in comments_all: with open(comments_file_path, 'a+', encoding='utf-8割双眼皮大概多少钱') as f: f.write(comment['content'] + '\n')接下来看一下我们写入到文件的内容
需要通过词云分析时就需要数据,所以我们需要把获取到的评论先放存入文档,这里为了方便我就直接放入txt文档了。
首先需要我们对jieba和wordcloud进行了解,使用pip install jieba对jieba库进行安装。然后用jieba对获取到的评论进行分词。
with open(comments_file魔兽世界私服_path, encoding = 'utf-8') as fin: comment_text = fin.read() word_list = jieba.lcut_for_search(comment_text) new_word_list = ' '.join(word_list)来看效果
然后使用pip install w蝙蝠侠三部曲ordcloud再安装wordcloud。最后用generate方法生成词云图。
好了接下来我们就需要找一张自己心仪的图片来做分词操作了。
所以之后大家可以按照自己的意愿来设置图片的形状。
我选了一张萌萌哒的小狗的图片。我在这里引入了imageio的 imread方法 以获消防电伴热取原始图片dog.jpg优品ppt的参数
然北极兔后使用mask=mask 传递形状参数,所以最后我们获取到的就是一张圆形的词云图
def create_word_cloud(): mask = imread('快速学习韩语;dog.j冰箱结冰怎么快速除冰pg') wordcloud = WordCloud(font_path='msyh.ttc', mask = mask).generate(cut_words()) wordcloud.to_file('dog.png')来看看实现词云效果之后的小狗图
好了目标已经实现。源码尚在整理中,想要学习的可以直接找我哦!
本文发布于:2023-06-06 17:46:51,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/ge/85/239562.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |