码迷,mamicode.com
首页 > 其他好文 > 详细

爬虫大作业

时间:2018-04-27 21:12:57      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:ems   list   rom   print   pre   eve   image   pen   [1]   

f=open("C:/Users/ZD/PycharmProjects/test/test.txt",‘w+‘,encoding=‘utf8‘)
import jieba
import requests
from bs4 import BeautifulSoup


def songlist(url):
    res = requests.get(url)
    res.encoding = ‘UTF-8‘
    soup = BeautifulSoup(res.text, ‘html.parser‘)
    songname=soup.select(‘.song‘)
    for i in songname[1:]:
        url=i.select(‘a‘)[0].attrs[‘href‘]
        songread(url)


def songread(url):
    f=open("C:/Users/ZD/PycharmProjects/test/test.txt",‘w+‘,encoding=‘utf8‘)
    res = requests.get(url)
    res.encoding = ‘UTF-8‘
    soup = BeautifulSoup(res.text, ‘html.parser‘)
    song=soup.select(‘.lrcItem‘)
    for i in song:

        f.write(i.text)



songlist(‘http://www.kuwo.cn/geci/a_336/?‘)
f=open("C:/Users/ZD/PycharmProjects/test/test.txt",‘r‘,encoding=‘utf8‘)
str=f.read()
f.close()

wordList=jieba.cut(str)
wordList=list(jieba.cut(str))

wordDic = {}
for i in set(wordList):
    wordDic[i] = wordList.count(i)

sort_word = sorted(wordDic.items(), key=lambda d: d[1], reverse=True)
for i in range(60):
    print(sort_word[i])


fo=open("C:/Users/ZD/PycharmProjects/test/test1.txt",‘w‘,encoding=‘utf8‘)
for i in range(60):
    fo.write(sort_word[i][0] +‘\n‘)

fo.close()

  

技术分享图片

制作过程中遇到三个问题,一个是文件用w+打开后写完数据进去读取不出来,后来在读前再打开一次文件解决了

二是将列表排序后想取出里面的str,解决方式:问刘东

三是安装wordcloud不成功,改用在线词云生成器==

爬虫大作业

标签:ems   list   rom   print   pre   eve   image   pen   [1]   

原文地址:https://www.cnblogs.com/zd983886992/p/8964241.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!