1.取出乙個新聞列表頁的全部新聞 包裝成函式。
2.獲取總的新聞篇數,算出新聞總頁數。
3.獲取全部新聞列表頁的全部新聞詳情。
importrequests
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))
(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):
(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...