【大数据】获取一篇新闻的全部信息
生活随笔
收集整理的這篇文章主要介紹了
【大数据】获取一篇新闻的全部信息
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
作業(yè)要求來自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2894
給定一篇新聞的鏈接newsUrl,獲取該新聞的全部信息
標題、作者、發(fā)布單位、審核、來源
發(fā)布時間:轉(zhuǎn)換成datetime類型
點擊:
- newsUrl
- newsId(使用正則表達式re)
- clickUrl(str.format(newsId))
- requests.get(clickUrl)
- newClick(用字符串處理,或正則表達式)
- int()
整個過程包裝成一個簡單清晰的函數(shù)。
嘗試去爬取一個你感興趣的網(wǎng)頁。
# 獲取一篇新聞的全部信息 import re import requests from bs4 import BeautifulSoup from datetime import datetime# 獲取新聞id def newsnum(url):newsid = re.match('http://news.gzcc.cn/html/2019/meitishijie_0321/(.*).html', url).group(1)return newsid# 發(fā)布時間:datetime類型 def newstime(soup):newsdate = soup.select('.show-info')[0].text.split()[0].split(':')[1]newstime = soup.select('.show-info')[0].text.split()[1]time = newsdate + ' ' + newstimetime = datetime.strptime(time, '%Y-%m-%d %H:%M:%S')return time# 獲取點擊次數(shù) def click(url):id = re.findall('(\d{1,5})', url)[-1]clickUrl = 'http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80'.format(id)res = requests.get(clickUrl)click = res.text.split('.html')[-1].lstrip("('").rstrip("');")return click# 主函數(shù) def main(url):res = requests.get(url)res.encoding = 'utf-8'soup = BeautifulSoup(res.text, 'html.parser')#print(soup.select('.show-info')[0].text.split());print("新聞編號:" + newsnum(url)); # 新聞編號idprint("標題:" + soup.select('.show-title')[0].text); # 標題print("發(fā)布時間:" + str(newstime(soup))); # 發(fā)布時間print(soup.select('.show-info')[0].text.split()[2]); # 作者print(soup.select('.show-info')[0].text.split()[3]); # 審核print(soup.select('.show-info')[0].text.split()[4]); # 來源print("內(nèi)容:" + soup.select('.show-content p')[0].text); # 內(nèi)容returnurl = "http://news.gzcc.cn/html/2019/meitishijie_0321/11033.html" main(url)?
轉(zhuǎn)載于:https://www.cnblogs.com/Richard-V/p/10649085.html
總結(jié)
以上是生活随笔為你收集整理的【大数据】获取一篇新闻的全部信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php实现上传,PHP实现文件上传例子
- 下一篇: ug80浩强工具_ug浩强工具安装软件下