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

写在前面

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


heard.jpg

目的

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

一、分析

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


tiebaguilv.png

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


tiebaguilv2.png

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']

四、词云生成

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


QQ截图20200114231926.png

五、信息分析

看词云,结果不言而喻,提早地准备、丰富的经验、专业课、数学、政治、院校选择…………
从情感上来看,大多数情感指数偏向积极,说明对待考研还是需要一个积极的态度。


QQ截图20200114233211.png

运行截图

1.gif

待改进

1.应该多线程,速度太慢了
2.爬取了帖子,没有爬取评论
3.情感分析有很多出错

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • 7天付费社群流量计划 先有微课内容,再推广。自己多平台转化推,微信圈,群,先能吸引再被线下活动呈现,再转化线上滚动...
    大黑豆豆麻麻阅读 231评论 0 0
  • 下午接近五点,侄女开车带我去金鹰购物。买了两个项链上的小挂件。 其中一个造型是银杏叶片,另外一个是心型的和田玉。 ...
    天堂鸟鸣阅读 350评论 1 4
  • [社群商业牛人大会成长记录]如何成功运营社群商业? 在此之前,我将近20年的工作经历都是在制造行业,社群商业...
    Janicezha阅读 256评论 0 0
  • 生病越发厉害了,一个短会的时间,我就失声了,从下班到现在跟老公一起说话不超过30句,所以要早早睡觉,简单说下几个想...
    Sebrenna阅读 111评论 0 0
  • Hey,亲爱的, 你又路过, 沉默的树,不语的我。 相信你执着你手里的书, 慢慢读着,走上高楼, 而我坐乘地铁坠落...
    易安阅读 105评论 0 1