写在前面

考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方。而借助强大的工具可以快速从网络鱼龙混杂的信息中得到有价值的信息。虽然网上有很多爬取百度贴吧的教程和例子,但是贴吧规则更新快,目的不一样,爬取的内容也不一样,所以就有了这个工具。

目的

爬取1000条帖子→判断是否是广告或者垃圾信息→分析语言情感→生成词云

一、分析

1.1 先查看贴吧的规则,果然有规律,每一页是50条帖子

1.2 帖子内容,也有规律,都在这个标签里面

1.3 判断内容就用百度AI的内容审核,情感分析也用百度AI了,省事

1.4 词云可以先用jieba分词然后再用wordcloud生成,但是后来发现网上有现成的工具

二、爬取过程

2.1 首先解决的一个小问题就是让它自己计算一下每页是50条帖子,我输入1000条它应该去爬取那几个页面,就用这种数学计算就行

2.2爬取过程代码,爬取后就调用内容审核以及情感分析,然后写入文件

def gettbtz(tbname,tznum): ####根据给出的贴吧和帖子数(50的整数倍)获得所有帖子

n = -50

tznum = int(tznum) ###z这里是要根据贴吧的规则,每页显示50条帖子

emotions = 0

while (tznum > n):

n = n + 50

print("正在爬取前" + str(n) + "条帖子")

url = "http://tieba.baidu.com/f?kw=" + tbname + "&ie=utf-8&pn=" + str(n)

soup = BeautifulSoup(requests.get(url).text,'lxml') ###爬取动作

a = soup.find_all('div',class_='threadlist_abs threadlist_abs_onlyline')

for a in a: ###接下来以此判断文本是否合规,然后判断情感正向倾向指数,然后写入文件

if BDAITEXT(a.text) == "合规":

print("爬取到合规帖子,正在写入文件:" + a.text)

with open("resaults.txt","a+",encoding='utf-8') as f:

f.write(str(a.text)) ###写入这里特意转换一下数据类型,避免后面发生文本编码错误

try:

emotions = emotions + BDAIemotion(a.text)

print("当前累计情感指数:" + str(emotions))

except:

print("情感分析出错,跳过")

else:

print("帖子不合规,跳过")

time.sleep(10) ###君子协议,10秒暂停

f.close()

三、百度人工智能API调用

3.1 百度AK获取,就是要先到百度AI开发平台注册一个开发者账号,然后创建应用,获取应用id和密钥,然后得到这样一个调用的密钥

# client_id 为官网获取的AK, client_secret 为官网获取的SK

host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【应用ID】&client_secret=【SK】'

response = requests.get(host)

if response:

print(response.json())

3.2 内容审核API调用

def BDAITEXT(text): ####百度AI文本审核,返回合规或者不合规

content = {"text": text}

r = requests.post(BDAItexturl,content).text

if r:

rback = json.loads(r)

return rback["conclusion"]

3.3 情感分析API调用

def BDAIemotion(text): ####百度AI情感分析,返回一个数值

content = {"text": text}

content = json.dumps(content)

r = requests.post(BDAIemotionurl,content).text

if r:

rback = json.loads(r)

return rback['items'][0]['positive_prob']

四、词云生成

有很多在线工具,导入大段文本,然后根据需要进行文本的过滤、分词,然后设置颜色、样式就可以生成词云。

五、信息分析

看词云,结果不言而喻,提早地准备、丰富的经验、专业课、数学、政治、院校选择…………

从情感上来看,大多数情感指数偏向积极,说明对待考研还是需要一个积极的态度。

运行截图

待改进

1.应该多线程,速度太慢了

2.爬取了帖子,没有爬取评论

3.情感分析有很多出错

“闲言碎语留给市井小民,你只管优雅从容心怀远方”

用python爬取考研信息网_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!...相关推荐

  1. python爬取考研成绩什么时候出来_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些...

    原标题:用Python爬取了考研吧1000条帖子,原来他们都在讨论这些 写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼 ...

  2. python爬取考研成绩什么时候出来_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!...

    写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼龙混杂的信息中得到有价值的信息.虽然网上有很多爬取百度贴吧的教程和例子, ...

  3. python爬考研_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!

    写在前面 考研在即,想多了解考研er的想法,就是去找学长学姐或者去网上搜索,贴吧就是一个好地方.而借助强大的工具可以快速从网络鱼龙混杂的信息中得到有价值的信息.虽然网上有很多爬取百度贴吧的教程和例子, ...

  4. python爬去朋友圈_利用Python爬取朋友圈数据,爬到你开始怀疑人生

    人生最难的事是自我认知,用Python爬取朋友圈数据,让我们重新审视自己,审视我们周围的圈子. 文:朱元禄(@数据分析-jacky) 哲学的两大问题:1.我是谁?2.我们从哪里来? 本文 jacky试 ...

  5. python爬取行业数据_用Python进行Web爬取数据

    介绍 我们拥有的数据太少,无法建立机器学习模型.我们需要更多数据! 如果这句话听起来很熟悉,那么你并不孤单!希望获得更多数据来训练我们的机器学习模型是一个一直困扰人们的问题.我们无法在数据科学项目中获 ...

  6. python 开发安卓应用商店_用Python爬取各Android市场应用下载量(3分钟学会)

    就是这么简单! 文章目录 前言 设计一个函数 构造要爬取的网址 确定要爬取的内容的位置 构建输入和调用部分 程序完整代码 0 前言 有时候,总有一些重复又琐碎的工作,却不得不做-- 一个个统计,也不是 ...

  7. java爬取网页数据_利用Python做数据分析—对前程无忧数据类岗位进行分析

    引言 随着时代的发展,我国在各行各业都需要大量的人才引进,处于近几年最热门的行业也称"最火行业":大数据.数据分析.数据挖掘.机器学习.人工智能,这五门行业各有不同又互有穿插.近几 ...

  8. python爬取软件数据_利用Python爬取爬取APP上面的数据

    前言 在我们在爬取手机APP上面的数据的时候,都会借助Fidder来爬取.今天就教大家如何爬取手机APP上面的数据. 环境配置 1.Fidder的安装和配置 下载Fidder软件地址:https:// ...

  9. 基于python的排课表系统_利用python爬取广西科技大学教务管理信息系统班级课表...

    操作环境 python 3.6.1 pycharm 5.0.3 WampServer 3.0.6 windows 8(64位) 特点 1.中途退出程序或者断网之后重连再次运行不会抓取到重复的课程表 2 ...

最新文章

  1. MXNet中x.grad源码追溯
  2. Spring MVC前后端的数据传输
  3. Android中dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent的理解
  4. android异步任务详解 AsynTask[转 杨瓦瓦]
  5. Python编程基础:第八节 判断语句If Statements
  6. ROS知识: vanilla(香草) CMakeLists.txt 的语法
  7. Markdown公式输入(very nice!!!)
  8. python贪婪匹配和非贪婪匹配_贪婪匹配和非贪婪匹配
  9. 高新面试系列 性格篇
  10. phpredisadmin common.inc.php,phpRedisAdmin安装
  11. 10 - java 权限修饰符
  12. [转]bookmark整理之.NET编程相关
  13. Linux Shell编程笔记7 awk的应用
  14. 我和一位快递小哥的故事
  15. 【CCF会议期刊推荐】中国计算机协会(CCF)推荐国际学术期刊/会议(软件工程/系统软件/程序设计语言)
  16. 三方协议、报到证(派遣证)、干部身份
  17. 如何申请软件著作权证书
  18. 中国脑计划颠覆性创新之路四,用脑科学预测互联网的未来发展趋势
  19. 地下城与勇士(DNF)安图恩副本(黑雾之源、震颤的大地、舰炮防御战、擎天之柱、能量阻截战、黑色火山、安徒恩的心脏)(童年的回忆)
  20. 计算机桌面个性化怎样设置方法,终于知晓如何设置个性化电脑桌面?

热门文章

  1. linux 看硬件配置 命令
  2. oo4o 连接数据库操作
  3. 利用LVS(Linux Virtual Server)系统实现Web服务器集群的负载均衡
  4. 逆风撑船,文旅地产的前方是什么?
  5. IDF实验室-抓到一只苍蝇
  6. 新课程改革的理论基础究竟是什么
  7. 如何制定IT灾难恢复计划
  8. [wayfarer]PetShop之业务逻辑层设计
  9. ROS机器人高效编程(原书第3版)勘误、问题及资料汇总
  10. 【ssd】M.2的SATA,PCI-x2(Socket 2 ),PCI-x4(Socket 3)了解一下,老程序员都快被新硬件搞蒙圈了