資料結構化與儲存

2022-06-04 17:39:10 字數 2280 閱讀 6529

1. 將新聞的正文內容儲存到文字檔案。

f = open(filename, 'a', encoding='utf-8')

f.write(content)

f.close()

2. 將新聞資料結構化為字典的列表:

(1)單條新聞的詳情-->字典news

def getnewdetail(a):

newsdict={}

resd = requests.get(a)

resd.encoding = 'utf-8'

soupd = beautifulsoup(resd.text, 'html.parser')

newsdict['title'] = soupd.select('.show-title')[0].text

info = soupd.select('.show-info')[0].text

newsdict['a']=a

newsdict['datetime'] = datetime.strptime(d, '%y-%m-%d %h:%m:%s')

newsdict['photo'] = info[info.find('攝影:'):].split()[0].lstrip('攝影:')

newsdict['clickcount'] = getclickcount(a)

return newsdict

def listpage(pageurl):

newsls =

res = requests.get(pageurl) # 返回response物件

res.encoding = 'utf-8'

soup = beautifulsoup(res.text, 'html.parser')

for news in soup.select('li'):

if len(news.select('.news-list-title')) > 0:

a = news.select('a')[0].attrs['href'] # 鏈結

return newsls

(3)所有列表頁的所有新聞彙總列表newstotal.extend(newsls)

def getpagelist(path):

res = requests.get(path) # 返回response物件

res.encoding = 'utf-8'

soup = beautifulsoup(res.text, 'html.parser')

newsnum = int(soup.select('.a1')[0].text.rstrip('條')) # 新聞總條數

if (newsnum % 10 == 0):

totalpage = newsnum // 10

else:

totalpage = newsnum // 10 + 1 # 新聞總頁數

for i in range(1, totalpage):

pageurl = path + '{}.html'.format(i)

3. 安裝pandas,用pandas.dataframe(newstotal),建立乙個dataframe物件df.

import pandas

df = pandas.dataframe(newstotal)

4. 通過df將提取的資料儲存到csv或excel 檔案。

df.to_excel('gzccnews.xlsx')

5. 用pandas提供的函式和方法進行資料分析:

(1)提取包含點選次數、標題、**的前6行資料

df[['clickcount', 'title', 'source']].head(6)

print(df[['clickcount', 'title', 'source']].head(6))

(2)提取『學校綜合辦』發布的,『點選次數』超過3000的新聞。

df[(df['clickcount'] > 3000) & (df['source'] == '學校綜合辦')]

print(df[(df['clickcount'] > 3000) & (df['source'] == '學校綜合辦')])

(3)提取'國際學院'和'學生工作處'發布的新聞。

soulist = ['國際學院', '學生工作處']

print(df[df['source'].isin(soulist)]

資料結構化與儲存

1.將新聞的正文內容儲存到文字檔案。soup beautifulsoup res.text,html.parser content soup.select show content 0 text f open news.txt w encoding utf 8 f.write content f.c...

資料結構化與儲存

作業是 同學的,因為沒有對新聞資訊做提取,所有無法新增新聞資訊到字典。已練習pandas庫的相關使用方法,匯出excel檔案。ps 自己的 會盡快修改!import requests from bs4 import beautifulsoup from datetime import datetim...

資料結構化與儲存

1.將新聞的正文內容儲存到文字檔案。newscontent soup.select show content 0 text f open news.txt w f.write newscontent f open news.txt r print f.read 3.安裝pandas,用pandas....