zoukankan      html  css  js  c++  java
  • 爬虫大作业

    1.选一个自己感兴趣的主题。

    2.用python 编写爬虫程序,从网络上爬取相关主题的数据。

    3.对爬了的数据进行文本分析,生成词云。

    4.对文本分析结果进行解释说明。

    5.写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。

    6.最后提交爬取的全部数据、爬虫及数据分析源代码。

    import requests
    from bs4 import BeautifulSoup
    import re
    import pandas
    import jieba

    page='http://news.163.com/18/0428/15/DGG6CE7300018AOQ.html'
    res=requests.get(page)
    soup=BeautifulSoup(res.text,'html.parser')
    a=soup.select('p')
    news=''

    for i in a[5:13]:
    new=i.text
    news=news+new

    f=open('new.txt','w')
    f.write(news)
    f=open('new.txt','r')
    f.close()

    f=open('new.txt','r')
    str1=f.read()
    news1=list(jieba.lcut(str1))

    wordrset=set(news1)
    missword={',','。','的','地','一','我','你','他','得'}

    dic={}
    key={}
    for i in wordrset:
    if i in missword:
    del i

    for i in wordrset:
    key[i]=news1.count(i)
    dic[i]=key[i]
    sort=sorted(key.items(),key=lambda d:d[1],reverse=True)
    for j in range(30):
    print(sort[j][0])

    我写的爬虫程序的思路主要有下面几个方面,首先先确定要爬的网页,我爬的网页是网易新闻的某一篇,首先我要用浏览器开发者工具确定文章内容在哪个元素部分里面,然后用soup.select('p')选取p部分的内容,创建一个空字符串,用于存放新闻内容,然后把内容存放在叫new的文档中,然后再次打开该文件,利用jieba将内容获取详细,设置一个集合,用于存放出现的词组(不重复),确定不要的词组,然后利用字典的特性,把字典里的键赋值,进行排序。然后最后获取排序前30的词组。在这个过程中所遇到的问题就是txt文档乱码的问题,因为之前在之前爬取学校新闻的过程中,用的编码是utf-8,而像网易所用的编码可能不一样,所以会不一样,可能最后会出现错误,不过只要改为其它编码就可以了,然后就是词云的生成部分,我把所有的词都放进了词云生成器里面,但是生成的却并没有那么多的选项。生成的词云截图如下:

  • 相关阅读:
    大文件断点续传webupload插件
    大文件断点续传插件webupload插件
    大文件上传插件webupload插件
    局域网大附件上传,支持断点续传
    网页大附件上传,支持断点续传
    B/S大附件上传,支持断点续传
    jsp大附件上传,支持断点续传
    php大附件上传,支持断点续传
    windows7 配置 python开发环境
    TMS320F28335项目开发记录6_28335之cmd文件具体解释
  • 原文地址:https://www.cnblogs.com/cairuiqi/p/8970236.html
Copyright © 2011-2022 走看看