前言

最近在学习爬虫的相关知识,思考做一个案例,平常nga ow区逛的也挺多,就爬取一下前10页帖子的标题,并以此生成词云图吧!

查阅相关链接

词云的简单实现
爬取网站多页数据实现方法
静态爬取方法

代码

import requests
from bs4 import BeautifulSoup
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
import ospath = 'topic.txt'
if os.path.exists(path):os.remove(path)for page in range(10):                                              #提取前10页的标题,此处用for构建10次url = 'https://bbs.nga.cn/thread.php?fid=459&page=%s' %page     #构建url,nga的url很规律,就是page=某个数字就代表第几页headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}                                                               #构建浏览器的请求头,不管网站是否需要,构建了总没坏处cookie = "这个我不能贴在这里233,浏览器f12获取就可以了"#从网页源码内原封不动贴来的cookiecookie_dict = {i.split("=")[0]:i.split("=")[-1] for i in cookie.split("; ")}#把cookie转换为字典形式r = requests.get(url, headers=headers,cookies = cookie_dict)    #获取网页源码soup = BeautifulSoup(r.text, 'lxml')                            #用bs4的lxml库解析源码for each in soup.find_all('tbody'):                             #查看源码,可以知道我们要的标题都在tbody标签下,用for循环,find_all函数去找到所有的tbody标签title = each.find('a',class_ = 'topic').get_text(strip=True)#查看源码,可以知道我们要的标题都是tbody标签下的a子标签,class为topic#的标签,即为想要的标题,用get_text函数获取文本,strip去除没有必要的空格file = open('topic.txt','a',encoding='utf-8')               #打开topic.txt,没有则创建一个file.write('\n'.join([title]))                              #将刚刚获取的标题写入txt,并换行file.write('\n')file.close()word = open('topic.txt','r',encoding='utf-8').read()                #打开topic.txt,此时里面已有1-10页的标题
word = " ".join(jieba.cut(word))                                    #用jieba分词,将成句的句子分成词image_path = 'ow.png'                                               #设定词云图片
mask_image = np.array(Image.open(image_path))stop_words = ["月","日","我","有没有","怎么","了","么","的","是"     #设定不用的词,"吗","现在","你们","有","个","这个","打","玩","游戏","都"]wordcloud = WordCloud(background_color="white",width=1000,          #设置词云图属性height=860, margin=2,font_path="simhei.ttf",stopwords = stop_words,mask=mask_image).generate(word)plt.imshow(wordcloud, interpolation='bilinear')                     #画词云图
plt.axis("off")
plt.show()

成果

2021.02.04——用爬虫爬取nga ow区1-10页的帖子并生成词云图相关推荐

  1. python爬虫,Scrapy爬取豆瓣电影《芳华》电影短评,分词生成词云图。

    项目github地址:https://github.com/kocor01/scrapy_cloud Python版本为3.6 自己写的简单架构<python爬虫,爬取豆瓣电影<芳华> ...

  2. Python爬虫爬取《你好,李焕英》的豆瓣短评做成云图

    Python爬虫爬取<你好,李焕英>的豆瓣短评做成云图

  3. Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情

    Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情 先识别商品url,区分平台提取商品编号,再根据平台带着商品编号爬取数据. 1.导包 <!-- 爬虫相关Jar包依赖 --><d ...

  4. python网易云歌词做成词云图_Python爬取李荣浩最短歌曲贝贝的网易云评论并做成词云图...

    前言 在18 年的 10 月 17 号,李荣浩发了一张新专辑「耳朵」,专辑里有一首歌「贝贝」,只有 4 秒,歌词也就两个字.而且这首歌的作曲 .作词 .编曲.制作人.和声.录音师.混音师.录音室.混音 ...

  5. Python按销量爬取淘宝医用口罩前三页导入Excel并生成柱状图

    搞session搞不来,只能是假登录获取cookie来登入商品界面,现在好像都是这种反爬虫机制了....无语子 具体关于得到head头的cookie参考了一下(写的挺棒的):https://blog. ...

  6. python爬音乐评论生成词云图_python爬虫+词云图,爬取网易云音乐评论

    又到了清明时节,用python爬取了网易云音乐<清明雨上>的评论,统计词频和绘制词云图,记录过程中遇到一些问题 爬取网易云音乐的评论 一开始是按照常规思路,分析网页ajax的传参情况.看到 ...

  7. 13行MATLAB代码实现网络爬虫 爬取NASA画廊星图

    13行MATLAB代码实现网络爬虫 爬取NASA画廊星图 2021/04/18​上传 2021/04/21更新:修改N的输入方式,增加对png格式图片的下载支持,增加了自动处理几种错误情况的代码,能够 ...

  8. python制作爬虫爬取京东商品评论教程

    python制作爬虫爬取京东商品评论教程 作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计 ...

  9. Python爬虫爬取王者荣耀英雄人物高清图片

    Python爬虫爬取王者荣耀英雄人物高清图片 实现效果: 网页分析 从第一个网页中,获取每个英雄头像点击后进入的新网页地址,即a标签的 href 属性值: 划线部分的网址是需要拼接的 在每个英雄的具体 ...

最新文章

  1. 将人工智能模型压缩到微控制器中
  2. SIM900A基站定位调试笔记 -转
  3. PMcaff微课堂 | 洋葱淘elya妞,前百度UX Leader:独门创业经验,产品秘籍
  4. sort+参数+linux,linux sort下令参数及用法详解
  5. c++ set 遍历_47. Set 是如何工作的(3) 遍历顺序是如何确定的?
  6. 华三防火墙h3cf100配置双宽带_H3C新一代F100系列防火墙评测报告
  7. 数据结构与算法——二叉树与图汇总整理
  8. 二项式定理等价变换与简单推论
  9. 【小程序源码】修复图片音频全新升级带特效神器小游戏微信小程序源码下载-多种游戏支持
  10. 计算机学院毕业生德育总结,毕业生德育答辩总结_相关文章专题_写写帮文库
  11. php网上阅卷源码,翰林金榜网上阅卷
  12. 新西兰计算机工作好找么,去新西兰留学真的很差么?我看到有很多人都说那边的学习氛围不好而且毕业了不好找工作·········...
  13. 【Python机器学习及实践】实战篇:泰坦尼克号罹难乘客预测
  14. 云服务器总是自动关机,云服务器出现死机的情况是什么原因?
  15. java inputstream read_Java学习之输入输出流
  16. 【算法设计与分析】贪心算法:单源最短路径和prim算法的最小生成树
  17. 【MacOS】Mac下的gVim - MacVim
  18. cydia无法安装卸载插件_ios9越狱后怎么装插件?cydia安装卸载插件图文教程[多图]...
  19. SAP-基于批次特定计量单位的应用-01-产品数量管理
  20. Flutter Icons 图标库 国内镜像

热门文章

  1. 计算机桌面任务栏过宽怎么处理,任务栏变宽怎么还原_电脑下方任务栏变宽了的处理方法-系统城...
  2. Javassist 使用指南
  3. 微型计算机中的内存储器功能,微型计算机中的内存储器的功能是()。
  4. Desfire卡修改密钥流程
  5. 操作系统笔记-中断、进程、并发(持续更新)
  6. 快手 7 月起取消大小周引发热议
  7. 多闪、马桶、聊天宝三帆小舟如何进击航空母舰【微信】
  8. 继续深度体验「聊天宝」,邀请好友的奖励逻辑
  9. Java编程思想-并发
  10. 机器学习之九(读书笔记)