当前位置: 首页 > news >正文

上海站群优化wordpress内容修改

上海站群优化,wordpress内容修改,青岛网站设计制作,不错的网站开发公司一、准备过程 首先打开hao123漫画筛选区#xff0c;网址是https://www.hao123.com/manhua/list/?finishaudienceareacateorder1 在这里可以通过审查模式看到第一页的详细信息#xff0c;而目的则是通过爬取漫画筛选页面的每部漫画的人气与题材来分析最近… 一、准备过程 首先打开hao123漫画筛选区网址是https://www.hao123.com/manhua/list/?finishaudienceareacateorder1 在这里可以通过审查模式看到第一页的详细信息而目的则是通过爬取漫画筛选页面的每部漫画的人气与题材来分析最近漫画迷的观漫需求 环境如下   python3.6.2    PyCharm   Windows8.1  第三方库jieba,wordcloudbs4Requestsrewordcloud) 二、代码 1.用requests库和BeautifulSoup库爬取hao123漫画网当前页面的每部漫画的漫画名、地域、题材、人气、链接等将获取漫画详情的代码定义成一个函数  def getCartoonDetail(cartoonUrl): # 将获取hao123漫画详情的代码定义成一个函数 def getCartoonDetail(cartoonUrl): def getCartoonDetail(cartoonUrl):resd requests.get(cartoonUrl)resd.encoding utf-8soupd BeautifulSoup(resd.text, html.parser)cartoons {}# 获取除了标题外的字符串a soupd.select(.title-wrap)[0].select(span)[0].text# 计算字符串的长度num len(a)# 标题cartoons[title] soupd.select(.title-wrap)[0].text[:-num]ul soupd.select(.info-list)[0]# 地域cartoons[territory] ul.select(li)[1].text.lstrip(地域).replace(\xa0, )#漫画题材cartoons[theme] ul.select(li)[-2].text.lstrip(题材).replace(\xa0, )#人气cartoons[moods] ul.select(li)[-1].text.lstrip(人气)writeCartoonDetail(cartoons[theme] cartoons[moods] \n)return cartoons 2.取出一个漫画列表页的全部漫画 包装成函数def getListPage(pageUrl): def getListPage(pageUrl):res requests.get(pageUrl)res.encoding utf-8soup BeautifulSoup(res.text, html.parser)cartoonlist []for cartoon in soup.select(.item-1):# cartoon.select(.title)获取列表里的漫画标题if len(cartoon.select(.title)) 0:a cartoon.select(a)[0].attrs[href]#链接cartoonlist.append(getCartoonDetail(a))return cartoonlist 3.获取总的漫画篇数算出漫画总页数包装成函数def getPageN(): def getPageN():res requests.get(https://www.hao123.com/manhua/list/?finishaudienceareacateorder1)res.encoding utf-8soup BeautifulSoup(res.text, html.parser)n int(soup.select(.gray)[1].text.lstrip(共).rsplit(页)[0])return n 4. 获取全部漫画列表页的全部漫画详情。爬取页面前30页原因是爬取的数据太多搞到电脑蓝屏列表好像出现过溢出 cartoontotal [] pageUrl https://www.hao123.com/manhua/list/?finishaudienceareacateorder1 cartoontotal.extend(getListPage(pageUrl))n getPageN() for i in range(2, 30 1):pageUrl https://www.hao123.com/manhua/list/?finishaudienceareacateorder1pn{}.format(i)cartoontotal.extend(getListPage(pageUrl)) 5.将爬取到所有信息通过pandas根据评分排序然后只爬取title和moods两列的信息并保存至excel表中 df pandas.DataFrame(cartoontotal) # 将爬取到所有信息通过pandas根据人气排序然后只爬取title和moods两列的信息并保存至excel表中 dfsdf.sort_index(bymoods, ascendingFalse) dfsndfs[[title, moods]] dfsn.to_excel(cartoon.xlsx, encodingutf-8) 6.将爬取到的漫画题材通过构造方法writeNewsDetail(content)写入到文本cartoon.txt中 def writeCartoonDetail(content):fopen(cartoon.txt,a,encodingutf-8)f.write(content)f.close()   三、生成词云  通过导入wordcloud的包来生成词云 from PIL import Image,ImageSequence import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud,ImageColorGenerator # image Image.open(./logo.jpg) # graph np.array(image) # 获取上面保存的字典 title_dict changeTitleToDict() graph np.array(title_dict) font rC:\Windows\Fonts\simhei.ttf # backgroud_Image代表自定义显示图片这里我使用默认的 backgroud_Image plt.imread(G:/大三2/大数据/filedocuments/logo1.jpg) wc WordCloud(background_colorwhite,max_words500,font_pathfont, maskbackgroud_Image) # wc WordCloud(background_colorwhite,max_words500,font_pathfont) wc.generate_from_frequencies(title_dict) plt.imshow(wc) plt.axis(off) plt.show() 选择的图片   原图 由于生成的词云是按照背景色来生成的故显示效果为    一个矩形明显不是我想要的效果所以重新抠图如下  效果如下  四、遇到的问题及解决方案   1.在导入wordcloud这个包的时候会遇到很多问题 首先通过使用pip install wordcloud这个方法在全局进行包的下载可是最后会报错误error: Microsoft Visual C 14.0 is required. Get it with “Microsoft Visual C Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools  这需要我们去下载VS2017中的工具包但是网上说文件较大所以放弃。 之后尝试去https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud下载whl文件然后安装。 下载对应的python版本进行安装如我的就下载wordcloud-1.4.1-cp36-cp36m-win32.whl,wordcloud-1.4.1-cp36-cp36m-win_amd64 两个文件都放到项目目录中两种文件都尝试安装 通过cd到这个文件的目录中通过pip install wordcloud-1.4.1-cp36-cp36m-win_amd64,进行导入 但是两个尝试后只有win32的能导入64位的不支持所以最后只能将下好的wordcloud放到项目lib中在Pycharm中import wordcloud,最后成功 2.在爬取漫画信息的时候爬取漫画标题的时候会因为soupd.select(.title-wrap)[0].text获取除标题外的其他值如已完结如下图   解决方案如下 # 获取除了标题外的字符串a soupd.select(.title-wrap)[0].select(span)[0].text# 计算字符串的长度num len(a)# 标题cartoons[title] soupd.select(.title-wrap)[0].text[:-num] 五、数据分析与结论 通过对词云的查看可以看出漫画迷对于类型类型为搞笑、爱情、生活、魔幻、治愈、冒险等题材的漫画喜欢而对都市、竞技、悬疑等题材的漫画选择很少这说明观看漫画选择的大多数是有关于有趣与刺激的而对于推理类的漫画选择少这样在出版漫画时可以通过受众程度来出版。 而在这次作业中我了解并实现如何爬取一个网站的有用信息如何对爬取的信息分析并得到结论虽然我对于大数据技术深度的技术并不了解而且基础的知识也需要我不断加深巩固。 六、所有代码 # 大数据大作业 # 爬取hao123漫画网中的漫画人气最多的题材 import requests import re from bs4 import BeautifulSoup import pandas import jieba# 将爬取到的漫画题材通过构造方法writeNewsDetail(content)写入到文本cartoon.txt中 def writeCartoonDetail(content):fopen(cartoon.txt,a,encodingutf-8)f.write(content)f.close()# 将获取hao123漫画详情的代码定义成一个函数 def getCartoonDetail(cartoonUrl): def getCartoonDetail(cartoonUrl):resd requests.get(cartoonUrl)resd.encoding utf-8soupd BeautifulSoup(resd.text, html.parser)# print(cartoonUrl)cartoons {}# 获取除了标题外的字符串a soupd.select(.title-wrap)[0].select(span)[0].text# print(a)# 计算字符串的长度num len(a)# print(num)# 标题cartoons[title] soupd.select(.title-wrap)[0].text[:-num]# print(title)# b soupd.select(.info-list)[0].select(li)[-1].text# print(b)ul soupd.select(.info-list)[0]# print(ul)# 地域cartoons[territory] ul.select(li)[1].text.lstrip(地域).replace(\xa0, )# print(territory)#漫画题材cartoons[theme] ul.select(li)[-2].text.lstrip(题材).replace(\xa0, )# print(theme)#人气cartoons[moods] ul.select(li)[-1].text.lstrip(人气)# print(moods)# b soupd.select(.chapter-page)# print(b)writeCartoonDetail(cartoons[theme] cartoons[moods] \n)return cartoons# 取出一个漫画列表页的全部漫画 包装成函数def getListPage(pageUrl): def getListPage(pageUrl):res requests.get(pageUrl)res.encoding utf-8soup BeautifulSoup(res.text, html.parser)cartoonlist []# c soup.select(.list-page)# c soup.select(.item-1)# print(c)# a c[0].select(a)[0].attrs[href]#链接# print(a)# soup.select(.item-1)获取漫画列表for cartoon in soup.select(.item-1):# cartoon.select(.title)获取列表里的漫画标题if len(cartoon.select(.title)) 0:# print(cartoon.select(.title))a cartoon.select(a)[0].attrs[href]#链接# print(a)cartoonlist.append(getCartoonDetail(a))# print(cartoonlist)return cartoonlist# 获取总的漫画篇数算出漫画总页数包装成函数def getPageN(): def getPageN():res requests.get(https://www.hao123.com/manhua/list/?finishaudienceareacateorder1)res.encoding utf-8soup BeautifulSoup(res.text, html.parser)n int(soup.select(.gray)[1].text.lstrip(共).rsplit(页)[0])return n# 获取全部漫画列表页的全部漫画详情。 cartoontotal [] pageUrl https://www.hao123.com/manhua/list/?finishaudienceareacateorder1 cartoontotal.extend(getListPage(pageUrl)) # print(cartoontotal)n getPageN() # print(n) for i in range(2, 6 1):pageUrl https://www.hao123.com/manhua/list/?finishaudienceareacateorder1pn{}.format(i)cartoontotal.extend(getListPage(pageUrl))# print(cartoontotal) # print(cartoontotal)cartoonsList {} for c in cartoontotal:# print(c)cartoonsList[theme] c[theme]cartoonsList[moods] c[moods] print(cartoonsList)df pandas.DataFrame(cartoontotal) # print(df) # 将爬取到所有信息通过pandas根据人气排序然后只爬取title和moods两列的信息并保存至excel表中 dfsdf.sort_index(bymoods, ascendingFalse) dfsndfs[[title, moods]] # print(dfsn) dfsn.to_excel(cartoon.xlsx, encodingutf-8)# import jieba # f open(cartoon.txt,r,encodingUTF-8) # str1 f.read() # f.close() # str2 list(jieba.cut(str1)) # countdict {} # for i in str2: # countdict[i] str2.count(i) # dictList list(countdict.items()) # dictList.sort(keylambda x: x[1], reverseTrue) # f open(G:/大三2/大数据/filedocuments/jieba.txt, a) # for i in range(30): # f.write(\n dictList[i][0] str(dictList[i][1])) # print(f) # f.close()# 读取保存的内容,并转化为字典同时把结果返回生成词云 def changeTitleToDict():f open(cartoon.txt, r, encodingutf-8)str f.read()stringList list(jieba.cut(str))delWord {, /, , , 【, 】, , , , 、}stringSet set(stringList) - delWordtitle_dict {}for i in stringSet:title_dict[i] stringList.count(i)return title_dict# 生成词云 from PIL import Image,ImageSequence import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud,ImageColorGenerator # image Image.open(./logo.jpg) # graph np.array(image) # 获取上面保存的字典 title_dict changeTitleToDict() graph np.array(title_dict) font rC:\Windows\Fonts\simhei.ttf # backgroud_Image代表自定义显示图片这里我使用默认的 backgroud_Image plt.imread(G:/大三2/大数据/filedocuments/logo.jpg) wc WordCloud(background_colorwhite,max_words500,font_pathfont, maskbackgroud_Image) # wc WordCloud(background_colorwhite,max_words500,font_pathfont) wc.generate_from_frequencies(title_dict) plt.imshow(wc) plt.axis(off) plt.show()   转载于:https://www.cnblogs.com/2647409627qq/p/8933926.html
http://www.hkea.cn/news/14415191/

相关文章:

  • 不需要网站备案的广告联盟青岛网站建设多少钱
  • 做帖子的网站有哪些自适应影视网站模板
  • 开源网站建设工具永远免费的域名
  • 太原市建设银行网站网站建设实践总结
  • 纪检网站建设动态主题网站排名西安
  • 泰安润泽建设工程有限公司网站公司做网站要多长时间审核
  • 网站建设先进事迹西安企业网站开发
  • 网站开发工具 售价北京做网站的大公司有哪些
  • 青岛需要做网站的公司有哪些北京网站制作收费标准
  • 做仿网站的书html访问人数统计代码
  • 专业网站推荐18款禁用软件黄app免费
  • 河北pc端网站建设企业网站东莞网站建设制作
  • 做阀门网站效果怎么样英文网站 模板
  • 成品网站w灬源码1688用自己的名字设计头像
  • 越秀公司网站建设郑州网站关键词优化公司
  • 工厂的网站在哪里做的php做的购物网站
  • 网站session 验证网上书店网站建设规划书
  • 网站建设流程公司十堰秦楚网公众号
  • 在网站里面如何做支付工具网站关闭了域名备案
  • 手机搞笑网站模板下载安装seo系统
  • 精品网站建设费用 地址磐石网络长沙网站推广系统
  • 广州网站推广哪家强做wordpress模板赚钱
  • 哪些网站专门做细胞的东莞做网站做seo优化外包网络公司
  • 简约网站建设公司wordpress移植数据库
  • 深圳wap网站建设公司铁岭网站建设移动网站
  • 最新淘宝客网站程序wordpress微信h5
  • 郑州网站建设三猫网络静态网页的特点
  • 网站竞争对手如何做调研哈尔滨网站建设教程
  • 好学校平台网站模板now9999网站提示建设中
  • 邯郸市永年区做网站的公司傻瓜网站开发软件