獲取全部校園新聞

2022-05-27 18:36:09 字數 4310 閱讀 5642

1.取出乙個新聞列表頁的全部新聞 包裝成函式。

2.獲取總的新聞篇數,算出新聞總頁數。

3.獲取全部新聞列表頁的全部新聞詳情。

import

requests

from bs4 import

beautifulsoup

from datetime import

datetime

importre#

獲得新聞點選次數

defgetclick(link):

newid = re.search('

\_(.*).html

', link).group(1).split('

/')[1]

click = requests.get('

'.format(newid))

return click.text.split('

.html

')[-1].lstrip("

('").rstrip("

');"

)def

getnewsdetail(link):

resd =requests.get(link)

resd.encoding = '

utf-8

'soupd = beautifulsoup(resd.text, '

html.parser')

content=soupd.select('

.show-content

')[0].text

info=soupd.select('

.show-info

')[0].text

clickcount =getclick(link)

time=re.search('

(\d.\d.\d\s\d.\d.\d)

',info).group(1)

if (info.find('

作者') >0):

author = re.search('

', info).group(1)

else

: author = '

none

'if (info.find('

審核') >0):

auditing = re.search('

', info).group(1)

else

: auditingr = '

none

'if (info.find('

') >0):

source = re.search('

', info).group(1)

else

: source = '

none

'datetime=datetime.strptime(time,'

%y-%m-%d %h:%m:%s')

print('

'.format(datetime,author,auditing,source,clickcount))

print

(content)

defgetlistpage(listlink):

res=requests.get(listlink)

res.encoding='

utf-8

'soup=beautifulsoup(res.text,'

html.parser')

for news in soup.select('li'

):

if (len(news.select('

.news-list-title

')) >0):

title = news.select('

.news-list-title

')[0].text

description = news.select('

.news-list-description

')[0].text

link = news.a.attrs['

href']

print('

'.format(title,description,link))

getnewsdetail(link)

break

listlink='

'from datetime import

datetime

getlistpage(listlink)

res=requests.get(listlink)

res.encoding='

utf-8

'soup=beautifulsoup(res.text,'

html.parser')

listcount = int(soup.select('

.a1')[0].text.rstrip('

條'))//10+1

for i in range(2,listcount):

listlink='

{}.html

'.format(i)

getlistpage(listlink)

4.找乙個自己感興趣的主題,進行資料爬取,並進行分詞分析。不能與其它同學雷同。

#

-*- coding: utf-8 -*-

#-*- author: yjw -*-

import

requests

import

reimport

jieba

from bs4 import

beautifulsoup

from datetime import

datetime

defgetnewdetail(link):

res=requests.get(link)

res.encoding='

gb2312

'soup=beautifulsoup(res.text,'

html.parser')

alltext=len(soup.select("

.text"))

content=''

for p in

range(0,alltext):

content+=soup.select('

.text

')[p].text+'\n'

if(alltext>0):

print(content+"

\n詞頻統計:")

delword=

word={}

newscontent=list(jieba.cut(content))

wordfit=set(newscontent)-set(delword)

for i in

wordfit:

word[i]=newscontent.count(i)

text = sorted(text3.items(), key=lambda x: x[1], reverse=true)

for i in range(20):

print

(text[i])

else

:

print('

picture')

defgetnewlist(link):

res=requests.get(link)

res.encoding='

gb2312

'soup=beautifulsoup(res.text,'

html.parser')

for newlist in soup.select('

.listinfo

')[0].select('li'

): title = newslist.select('a'

)[0].text

time = newslist.select('

.info

')[0].select('p'

) link = newslist.select('

a')[0]['

href']

print('

'.format(title, time, link))

getnewdetail(link)

link='

'getnewlist(link)

for i in range(1,20):

if(i==1):

getnewlist(link)

else

: link="

".format(i)

getnewslist(link)

獲取全部校園新聞

1.取出乙個新聞列表頁的全部新聞 包裝成函式。2.獲取總的新聞篇數,算出新聞總頁數。3.獲取全部新聞列表頁的全部新聞詳情。4.找乙個自己感興趣的主題,進行資料爬取,並進行分詞分析。不能與其它同學雷同。import requests from bs4 import beautifulsoup from...

獲取全部校園新聞

1.取出乙個新聞列表頁的全部新聞 包裝成函式。2.獲取總的新聞篇數,算出新聞總頁數。3.獲取全部新聞列表頁的全部新聞詳情。import requests from bs4 import beautifulsoup from datetime import datetime importre 獲取新聞...

獲取全部校園新聞

1.取出乙個新聞列表頁的全部新聞 包裝成函式。2.獲取總的新聞篇數,算出新聞總頁數。3.獲取全部新聞列表頁的全部新聞詳情。4.找乙個自己感興趣的主題,進行資料爬取,並進行分詞分析。不能與其它同學雷同。import requests from bs4 import beautifulsoup from...