数据结构化与保存

def writeNewsDetail(content):
    f=open('gzcc.txt','a',encoding='utf-8')
    f.write(content)
    f.close()

 

2. 将新闻数据结构化为字典的列表:

  • 单条新闻的详情-->字典news
  • 一个列表页所有单条新闻汇总-->列表newsls.append(news)
  • 所有列表页的所有新闻汇总列表newstotal.extend(newsls)
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import re


def writeNewsDetail(content):
f = open('gzccNews.txt', 'a',encoding='utf-8')
f.write(content)
f.close()


def getClickCount(newsUrl): #一篇新闻的点击次数
newId = re.search('\_(.*).html', newsUrl).group(1).split('/')[1]
clickUrl = "http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80".format(newId)
return (int(requests.get(clickUrl).text.split('.html')[-1].lstrip("('").rstrip("');")))


def getNewsDetail(newsUrl): #一篇新闻的全部信息
resd = requests.get(newsUrl)
resd.encoding = 'utf-8'
soupd = BeautifulSoup(resd.text, 'html.parser') # 打开新闻详情页并解析

news ={}
news['title'] = soupd.select('.show-title')[0].text
info = soupd.select('.show-info')[0].text
news['dt'] = datetime.strptime(info.lstrip('发布时间:')[0:19], '%Y-%m-%d %H:%M:%S')
if info.find('来源:') > 0: # 作者: 审核: 来源: 摄影:一样处理
news['source'] = info[info.find('来源:'):].split()[0].lstrip('来源:')
else:
news['source'] = 'none'
news['content'] = soupd.select('.show-content')[0].text.strip()
#writeNewsDetail(news['content'])
news['click'] = getClickCount(newsUrl)
news['newsUrl'] = newsUrl
return(news)


def getListPage(pageUrl): #一个列表页的全部新闻
res = requests.get(pageUrl)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')

newsList = []
for news in soup.select('li'):
if len(news.select('.news-list-title')) > 0:
newsUrl = news.select('a')[0].attrs['href'] # 链接
newsList.append(getNewsDetail(newsUrl))
return(newsList)


def getPageN(): # 新闻列表页的总页数
res = requests.get('http://news.gzcc.cn/html/xiaoyuanxinwen/')
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')
n = int(soup.select('.a1')[0].text.rstrip('条'))
return (n // 10 + 1)

newsTotal = []
firstPageUrl = 'http://news.gzcc.cn/html/xiaoyuanxinwen/'
newsTotal.extend(getListPage(firstPageUrl))

n = getPageN()
for i in range(n, n+1):
listPageUrl = 'http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html'.format(i)
newsTotal.extend(getListPage(listPageUrl))

print(newsTotal)

 

3. 安装pandas,用pandas.DataFrame(newstotal),创建一个DataFrame对象df.

df = pandas.DataFrame(newsTotal)

4. 通过df将提取的数据保存到csv或excel 文件。

df.to_excel('gzcc456.xlsx')

 

5. 用pandas提供的函数和方法进行数据分析:

  • 提取包含点击次数、标题、来源的前6行数据
  • 提取‘学校综合办’发布的,‘点击次数’超过3000的新闻。
  • 提取'国际学院'和'学生工作处'发布的新闻。
# 提取包含点击次数、标题、来源的前6行数据
print(df[['click','title','sources']].head(6))
 
# 提取‘学校综合办’发布的,‘点击次数’超过3000的新闻。
print(df[(df['click']>3000)&(df['sources']=='学校综合办')])
 
# 提取'国际学院'和'学生工作处'发布的新闻。
sou = ['国际学院','学生工作处']
print(df[df['sources'].isin(sou)])

 

转载于:https://www.cnblogs.com/a305810827/p/8855290.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
结构数据转图像是指将具有一定结构和格式的数据转换成图像的过程。Python是一种强大的编程语言,可以用来进行结构数据转图像的操作。 在Python中,我们可以使用各种图像处理库来实现结构数据转图像的功能。其中,最常用的是Pillow库。Pillow库提供了一系列用于处理图像的函数和类,可以通过编写Python代码来转换结构数据为图像。 要实现结构数据转图像的功能,我们可以按照以下步骤进行操作: 1. 定义结构数据:首先,我们需要定义和准备待转换的结构数据。该数据可以是一维数组、二维表格、矩阵等具有一定结构的数据。 2. 创建空白图像:使用Pillow库中的函数,我们可以创建一个空白的图像对象。可以指定图像的宽度、高度、颜色等属性。 3. 遍历结构数据:使用循环结构,我们可以遍历待转换的结构数据。根据数据的值,可以决定在图像上绘制的内容和位置。 4. 绘制图像:根据遍历过程中获取的数据值,在图像上进行绘制操作。可以使用Pillow库提供的绘制函数,例如绘制点、线段、矩形、文本等。 5. 保存图像:绘制完成后,可以使用Pillow库提供的函数将图像保存到本地文件系统中。可以指定保存路径和格式等参数。 通过以上步骤,我们可以将结构数据转换成图像,并保存在本地文件系统中。这样,我们就可以将数据以图像的形式进行可视展示或进行其他相关操作。 总结:结构数据转图像是一项将具有一定结构和格式的数据转换成图像的任务。Python提供了许多图像处理库,例如Pillow库,可以用来实现结构数据转图像的功能。通过定义数据、创建空白图像、遍历数据、绘制图像和保存图像等步骤,我们可以将结构数据转换成图像,并进行必要的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值