码迷,mamicode.com
首页 > 其他好文 > 详细

获取一篇新闻的全部信息

时间:2019-04-03 22:30:58      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:new   content   int()   color   src   span   requests   split()   model   

给定一篇新闻的链接newsUrl,获取该新闻的全部信息

标题、作者、发布单位、审核、来源

发布时间:转换成datetime类型

点击:

  • newsUrl
  • newsId(使用正则表达式re)
  • clickUrl(str.format(newsId))
  • requests.get(clickUrl)
  • newClick(用字符串处理,或正则表达式)
  • int()

整个过程包装成一个简单清晰的函数。

代码:

import requests
import re
from bs4 import BeautifulSoup
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)
    newsClick=res.text.split(.html)[-1].lstrip("(‘").rstrip("‘);")
    return newsClick

def newsdt(showinfo):#转换成datetime类型
    newsDate=showinfo.split()[0].split(:)[1]
    newsTime=showinfo.split()[1]
    newsDT=newsDate+ +newsTime
    #newsDT=datetime.strptime(newsDT,‘%Y-%m-%d %H:%M:%S‘)
    return newsDT

def newsid(url):#获取新闻编号
    newsID=re.findall((\d{1,5}),url)[-1]
    return  newsID

def news(url):
    res=requests.get(url)
    res.encoding=utf-8
    soup=BeautifulSoup(res.text,html.parser)
    title=soup.select(.show-title)[0].text
    showinfo=soup.select(.show-info)[0].text
    newsDT=newsdt(showinfo)
    author=soup.select(.show-info)[0].text.split()[2]#获取作者
    check=soup.select(.show-info)[0].text.split()[3]#获取审核
    comefrom=soup.select(.show-info)[0].text.split()[4]#获取来源
    detail=soup.select(.show-content )[0].text#获取新闻的具体内容
    newsID=newsid(url)#获取新闻编号
    newsClick=click(url)#获取点击次数
    title=新闻标题:+title
    newsClick=文章点击次数:+newsClick
    newsID=新闻编号:+newsID
    newsDT=发布日期:+newsDT
    pr=(newsClick,title,newsDT,newsID,author,check,comefrom,detail)#输出新闻的各种信息
    return pr
url=http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0402/11131.html
print(news(url))

截图:

技术图片

 

获取一篇新闻的全部信息

标签:new   content   int()   color   src   span   requests   split()   model   

原文地址:https://www.cnblogs.com/shang1680/p/10651593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!