zoukankan      html  css  js  c++  java
  • python10.28

    星期一:

    今天学习内容略微比较难,总结一句话就是领略了如何利用requests,发送请求,同时运用bs4里面BeautifuSoup(美丽的汤)处理爬取出来的内容,通过for循环吧内容通过弹幕(key)链接,并且利用pandas,转化成二维数列,在通过for以及re,通过一系列花里胡哨的操作,完成数据的爬取及写入TXT,接下来就是运用jieba(结巴)语句进行精确切割,分割之后通过空格“ ”.join()进行重组,通过WordCloud,进行处理后,通过generate生成,mathlotlib.pylot显示。

    今天重复做了两次,第一次照搬照抄,虽然没什么错误,但是不明其理,第二次通过逻辑其实也看着(不然打不出来,脑子没东西),发现了四个错误点,今天就把错误的传上来吧,大家引以为戒!

    import requests
    from bs4 import BeautifulSoup
    import pandas as pd
    import re
    import jieba
    from imageio import imread
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt##错误点
    
    
    header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'
    }
    url = 'http://comment.bilibili.com/125849178.xml'
    res = requests.get(url = url)
    res.encoding = res.apparent_encoding##为什么
    data = res.text
    soup = BeautifulSoup(data,'lxml')
    # print(soup)
    # print(data)
    d_list = soup.find_all('d')
    dlst = []
    for d in d_list:
        danmu ={}
        danmu['弹幕'] = d.text#如果直接赋值会怎么样?
        dlst.append(danmu)
        #弹幕字典每次都被增加和变为空值
    #接下来要进行数据处理运用pandas
    df = pd.DataFrame(dlst)#如果不进行这个操作可以么?对列表直接进行操作?
    f = open('bi.txt','w',encoding='utf-8')#打开文档
    for i in df['弹幕'].values:#取列表里边每个字典的的value值
        # print(i)
        pat = re.compile(r'[一-龥]+')#写出要求!!!!!!!!!正则表达式[]+
        filter_data = re.findall(pattern=pat,string=i)#这他妈是为什么这么写
        # print(filter_data)
        f.write("¥".join(filter_data))#写入
    f.close()
    """
    
    进行了爬取工作,并且写入了txt文件中
    下一步:::让我想想想,云图,不对,分割,对,先分割,精确分割,之后用wordcloud弄出来,再利用,什么sp什么的显示出来,对
    
    """
    f = open('bi.txt','r',encoding='utf-8')
    data = f.read()
    result = " ".join(jieba.lcut(data))##这里!!!join前边的引号内一定要加空格~~~!!!
    
    print(result)#为什么没有分割开
    f.close()
    
    color_mask = imread('五角星.jpg')
    wc = WordCloud(
        font_path=r'C:WindowsFontssimhei.ttf',
        width=1000,
        height=800,
        mask=color_mask,
        background_color='white'
    )
    wc.generate(result)
    wc.to_file('jjj.jpg')
    plt.imshow(wc)
    plt.show()
    

      

  • 相关阅读:
    求助 大家帮忙激励下我吧
    实体培训,特别是对于学历教育中教学理论的一些总结
    天轰穿c#趣味编程系列视频 vs2005/2008 winform实例入门 第二集 学习技巧风暴
    感谢老婆的支持我永远爱你,亲爱的梅
    早上起床晚了,差点迟到,两集视频已经做好
    我带这个班最近两次的作业
    辛辛苦苦几十年,一朝回到解放前我以及我的部分亲人都平安
    天轰穿c#趣味编程系列视频 vs2005/2008 winform实例入门 第一集
    如果有媒体的朋友建议看下这个帖子
    无聊的盗版问题
  • 原文地址:https://www.cnblogs.com/fxsm/p/11756077.html
Copyright © 2011-2022 走看看