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

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

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

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

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

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

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

    import requests
    from bs4 import BeautifulSoup
    #import jieba
    import jieba.posseg as psg
    
    f = open('content.txt','a+',encoding='UTF-8')
    newsurl = 'http://you.ctrip.com/travels/asia120001/t3.html'
    path='http://you.ctrip.com/travels/asia120001/t3-p'
    res = requests.get(newsurl)
    res.encoding = 'utf-8'
    soup = BeautifulSoup(res.text, 'html.parser')
    # pages = int(soup.select('.numpage')[0].text)
    #print(pages)    获取总页数
    for news in soup.select('.ellipsis'):
        f.write(news.text+"")
    
    for i in range(2, 500):
        pageUrl = path + '{}.html'.format(i)
        res = requests.get(pageUrl)
        res.encoding = 'utf-8'
        soup = BeautifulSoup(res.text, 'html.parser')
        for new in soup.select('.ellipsis'):
            f.write(new.text)
            f.write(" ")
    f2 = open('content.txt', 'r',encoding='UTF-8')
    text = f2.read()
    wordlist = list(psg.cut(text))
    
    set = set(wordlist)
    
    dict = {}
    for key in set:
        if key.flag.startswith('ns'):     #选出词性为地名的词语
         dict[key]=wordlist.count(key)    #词频统计
    dictlist = list(dict.items())
    dictlist.sort(key=lambda x: x[1], reverse=True)
    for i in range(30):                  #前三十的词频
        print(dictlist[i])

    高频词生成词云

    通过爬取携程网的游记信息,统计出了亚洲前三十的热门旅游地区。由于程序运行速度的问题(自己算法有问题),只是爬取了前500页的游记,所以统计出来的结果应该不太准确。

  • 相关阅读:
    node generator 模仿co
    node-webkit 屏幕截图功能
    linux命令, cut,sort,wc,uniq,tee 说明
    linux命令,vim,vi 说明
    linux命令,tar,configure,make,make install,su 说明
    java高级工程师学习方向
    oracle: Rownum原理
    Win7 环境weblogic用户名和密码忘记解决方法
    struts原理介绍,面试
    JSP、servlet--学习摘要
  • 原文地址:https://www.cnblogs.com/1996-yxl/p/8970011.html
Copyright © 2011-2022 走看看