Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)
初始条件,具体可见我的其他文章。
1.安装Python。Python 学习笔记 第一篇 Python的安装与配置
2.安装Pycharm,并导入第三方包。Python 学习笔记 第二篇 Python IDE安装(二)--PyCharm安装及使用教程
3.安装MySQL。MySQL安装和配置图解
4.下载 chromedriver.exe,并将运行程序目录添加到环境变量中。win系统下下载chromedriver.exe驱动的步骤
(一)创建 search.py
from selenium import webdriver
import pymysql
import time
conn = pymysql.connect(host = 'localhost',port = 3306,user = 'root',passwd = 'root',db = 'study',charset='utf8mb4'
)
cursor = conn.cursor()
# 隐藏浏览器
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless') # 给设置 的属性添加headless属性,使浏览器隐藏起来,不弹出。
driver = webdriver.Chrome("chromedriver.exe", options=chrome_options)
url = "https://music.163.com/#/song?id=411349966"
driver.get(url)
# 切换到对应的ifame标签里
driver.switch_to_frame('g_iframe')
for i in range(1, 500):driver.execute_script("var q=document.documentElement.scrollTop=5000")#定义class名字为cnt f-brk的div标签nodes = driver.find_elements_by_xpath('//div[@class="cnt f-brk"]')for node in nodes:sql = 'insert into wyy values(%s)'cursor.execute(sql, [node.text])conn.commit()# 定义text名字为 下一页 的a标签 selenium元素定位之xpath定位详解 a = driver.find_element_by_xpath('//a[text()="下一页"]') # 筛选文本内容为下一页的a标签a.click() # 点击该标签time.sleep(1) # 点击下一页之后休眠两秒,等待页面加载print('第{}页评论爬取完成'.format(i))
(二)创建 show.py
import pymysql
import jieba
import wordcloud
import numpy as np
from PIL import Image # pillow
conn = pymysql.connect(host = 'localhost',port = 3306,user = 'root',passwd = 'root',db = 'study',charset='utf8mb4'
)
cursor = conn.cursor()
sql = 'select * from wyy'
cursor.execute(sql)
pingluns = cursor.fetchall()
fenci = []
for pinglun in pingluns:fenci += jieba.lcut(pinglun[0].split(':')[-1])
s = ' '.join(fenci).replace('\n', ' ')
print(s)
mask = np.array(Image.open('timg_meitu_1.jpg'))
w = wordcloud.WordCloud(font_path='C:\Windows\Fonts\方正粗宋简体.ttf',scale=4,background_color='white',mask=mask)
w.generate(s)
w.to_file('musicpl.jpg')
(三)结果输出到 musicpl.jpg
(四)可能存在的问题
1.爬虫过程中,出现特殊字符数据库插入数据报错 pymysql.err.DataError: (1366, "Incorrect string value: '\\xF0\\x9F\\x8E\\xB5\\xE9\\x9F...'
解决方法:修改数据库表的编码为utf8mb4
第一步:打开命令行
1)方法一:在Mysql安装目录下打开按住shift之后右键文件夹会出现在此处打开命令窗口,不按shift不会出现
2)方法二:win+R 输入 cmd 打开运行,输入 cd + 在Mysql安装目录 切换到Mysql安装目录
第二步:输入 mysql -uroot -p命令进入数据库。
第三步:输入 命令use 数据库名;
进入数据库 ,输入命令 alter table 表名 convert to character set utf8mb4;
Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)相关推荐
- Python爬虫——selenium爬取网易云评论并做词云
大家好!我是霖hero 到点了上号网易云,很多人喜欢到夜深人静的时候,在网易云听音乐发表评论,正所谓:自古评论出人才,千古绝句随口来,奈何本人没文化,一句卧槽行天下!评论区集结各路大神,今天我们来爬取 ...
- Python学习笔记(三) Python基础
(二)python基础 python基础 自然语言与编程语言有所不同 ,自然语言可以在不同的情景下有不同的含义或解释 , 但这是编程语言是坚决杜绝的 . 编程语言应有的性能要求有:一致性 . 无二义性 ...
- Python学习笔记(三)Python安装及设置环境变量
Python安装 1.Python安装在OS上, 执行的操作: 写一个文件,文件按照Python规则写,将文件交给Python软件,读取文件中的内容,然后 进行转换和执行,最终获取结果. Python ...
- RCNN学习笔记——第三篇: 实现FRCNN网络训练、评价与预测(附全部源码)
RCNN学习笔记--第三篇: 实现FRCNN网络训练.评价与预测(附全部源码) 本文是个人根据B站大佬Bubbliiiing的FRCNN系列视频同步完成FRCNN训练,记录心得和遇见的问题. 关于RC ...
- python学习笔记(一)Python 简单介绍
Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...
- Python学习笔记(二)——Python基本图形绘制
Python学习笔记(二)--Python基本图形绘制 文章目录 Python学习笔记(二)--Python基本图形绘制 不同编程语言的初心和适用对象 Python蟒蛇绘制 五星红旗绘制 这次笔记主要 ...
- 案例驱动式Python学习笔记【第一篇】便捷水果店
前言 后续的此系列博文用于记录案例式Python学习笔记记录,供本人和感兴趣的小伙伴一起学习!!人生苦短,我学Python! 驱动案例 便捷水果店:请为水果店开发一个收银的小程序,已知水果单价和购买重 ...
- python学习笔记(三)
第5章 if语句 5.1 一个简单示例 cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if car == 'bmw': pri ...
- 【天池龙珠计划寒假训练营】python学习笔记(三):从函数到高级魔法方法
十二. 函数与Lambda表达式 12.1 函数 还记得 Python 里面"万物皆对象"么?Python 把函数也当成对象,可以从另一个函数中返回出来而去构建高阶函数,比如: 参 ...
最新文章
- QIIME1.9.1-2使用Docker运行QIIME
- 可由一个尾指针唯一确定的链表有_L2数据结构第08课 单向链表和循环链表
- Set Up a Simple Knowledge Base
- 浅析Java线程的三种实现
- c++的构造函数初始化列表
- C C++面试常问简答题(1)
- Android开发笔记(一百三十六)可折叠工具栏布局CollapsingToolbarLayout
- UVA 11806 Cheerleaders (容斥原理)
- Windows下Python,setuptools,pip,virtualenv的安装
- 孙鑫VC学习笔记:第十二讲 (三) 用C++函数读写文件
- V5Shop网店系统更新 版本V8.30.0606 RC1
- 如何生成条形码并打印出来
- 北疆游记 - 照片在左边相册
- 几款优秀的文档管理系统
- 45.常用的数学工具类2-三角函数的使用
- 学习笔记之RecyclerView
- c语言报错(二)expected initializer before “int“
- 怎样自己定制标签(Custom Tag)
- Ubuntu+Windows双系统远程重启互相切换
- 软考高级软件架构风格定义以及分类
热门文章
- 什么是编译器里的前端和后端
- 关于国外问卷项目真能赚钱吗
- ScrollView嵌套WebView遇到的坑
- 手机otg转HTml,手机如何用OTG转换器导入mp3
- 项目经理软考知识点总结
- 解决网上购买的笔记本win10系统锁屏界面被篡改的问题
- 罗兹电钢琴-e-Instruments Session Keys Electric R Kontakt
- 页面自适应各种手机屏幕:阿赛特别方法处理页面固定宽度适应各种终端的解决方案
- (附源码)springboot+vue.js+mysql+基于VUE框架的商城综合项目自动化系统的实现 毕业设计051018
- TA课程笔记01——光照(主要为shader入门精要第六章)