获取一篇新闻的全部信息

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

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

发布时间:转换成datetime类型

点击:

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

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

尝试去爬取一个你感兴趣的网页。

代码:

import re
import requests
from bs4 import BeautifulSoup
from datetime import datetime

# 点击次数
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)
    resClick = requests.get(clickUrl)
    newsClick = int (resClick.text.split(‘.html‘)[-1].lstrip("(‘").rstrip("‘);"))
    return newsClick

# 获取时间
def newsdt(showinfo):
    newsDate = showinfo.split()[0].split(‘:‘)[1]
    newsTime = showinfo.split()[1]
    newsDT = newsDate+‘ ‘+newsTime
    dt = datetime.strptime(newsDT,‘%Y-%m-%d %H:%M:%S‘)
    return dt

# 新闻信息
def news(url):
    res = requests.get(url)
    res.encoding = ‘utf-8‘
    soup = BeautifulSoup(res.text,‘html.parser‘)
    newsTitle = soup.select(‘.show-title‘)[0].text #标题
    author = soup.select(‘.show-info‘)[0].text.split()[2] #作者
    auditor = soup.select(‘.show-info‘)[0].text.split()[3] #审核
    source = soup.select(‘.show-info‘)[0].text.split()[4] #来源
    showinfo = soup.select(‘.show-info‘)[0].text
    newsDT = newsdt(showinfo) #时间
    newsClick = click(url) #点击次数
    news = print(newsTitle,newsDT,author,auditor,source,newsClick)
    return news

url=‘http://news.gzcc.cn/html/2019/xibusudi_0328/11088.html‘
news(url)

运行结果:

原文地址:https://www.cnblogs.com/mgf69/p/10637252.html

时间: 2024-08-29 00:32:23

获取一篇新闻的全部信息的相关文章

iOS开发项目篇—39获取用户未读的微博信息(信息提醒)

iOS开发项目篇—39获取用户未读的微博信息(信息提醒) 一.简单说明 1.实现效果       2.实现 (1)新建一个类,封装请求 查看新浪官方要求的请求参数 该类中的代码设计 YYUnreadCountParam.h文件 1 // YYUnreadCountParam.h 2 //封装请求参数的类 3 4 #import "YYBaseParam.h" 5 6 @interface YYUnreadCountParam : YYBaseParam 7 /**uid true in

winPcap_4_获取已安装设备的高级信息

由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of which corresponds to an entry in the addresses list). 一个广播地址列表 (each of which corresponds to an entry in the addresses list). 一个目的地址列表 (each of which

iOS开发项目篇—20存储账号信息

iOS开发项目篇—20存储账号信息 一.简单说明 1.不论请求是否成功,都在发送Post请求后,隐藏遮罩. 2.在授权成功后,切换根控制器. (1)说明 切换到控制器有几种情况,要么是切换到新特性,要么是切换到“首页”. 没有必要每次进入程序都需要登录,且每次返回的数据都是一样的,所以只需要把拿到的信息保存到沙盒里就可以了. 判断上次有没有登录成功(把拿到的access_token保存到沙盒中,如果沙盒中有access_token,说明上次登录成功),如果上次登陆成功,那么就判断是否要进入新特性

获取全部校园新闻(GZCC大新闻流量刷新器)

import requests import re url = "http://news.gzcc.cn/html/xiaoyuanxinwen/" listnewurl = "http://news.gzcc.cn/html/xiaoyuanxinwen/index.html" res = requests.get(url) reslist = requests.get(listnewurl) res.encoding = 'utf-8' # 利用Beautifu

Inxi:获取Linux的系统和硬件信息

我们已经展示了一些不同的应用程序和方法来获取Linux的系统和硬件信息.在这一系列里,我们将看到如何使用inxi来获取这些详情信息.在论坛技术支持中,它可以作为调试工具,迅速确定用户的系统配置和硬件信息. Inxi是一个可以获取完整的系统和硬件详情信息的命令行工具,内容包括: 硬件 CPU 磁盘驱动器 Xorg 桌面环境 内核 GCC版本 进程 内存占用 和其他有用的信息 安装方法 Inxi在多数现代GNU/Linux操作系统的默认软件仓库中.所以,我们可以简单地运行下列命令安装. 在基于Deb

(spring-第14回【IoC基础篇】)国际化信息 (转)

国际化又称为本地化. 当你把手机的language由中文切换到英文时,你的微信也相应改用英语,这就是i18n国际化.一般来说,应用软件提供一套不同语言的资源文件,放到特定目录中,应用根据不同语言的操作系统决定使用哪一种语言. 一般由两个条件限定一个国际化类型:语言类型和国家/地区类型.比如: 中文:语言类型:zh,国家/地区类型:CN(中国大陆)/HK(中国香港)/TW(中国台湾). 英语:语言类型:en,国家类型:EN. ------------------------------------

VB6获取IE8的地址栏的URL信息

这是个老梗了,也没什么技术含量.因为自从接触Linux之后,Windows上我所知道的那一点api基本上都忘光了.所以这样的博文可以当做是备忘,说不定有天还能用的到. Windows上想要获取浏览器的地址栏信息,基本思路是枚举浏览器的子窗体,然后获取hwnd(handle of window),最后使用SendMessage & WM_GETTEXT(或者 GetWindowText大体上没什么区别).好,基于这样的事实,我们来做个简单的实现. 1.获取IE窗口 这个很简单通过FindWindo

js获取当前页面url网址等信息

使用js获取当前页面的url网址信息. 1.设置或获取整个 URL 为字符串: window.location.href 2.设置或获取与 URL 关联的端口号码: window.location.port 3.设置或获取 URL 的协议部分 window.location.protocol 4.(www.jbxue.com)设置或获取 href 属性中跟在问号后面的部分 window.location.search 5.获取变量的值(截取等号后面的部分) var url = window.lo

获取要下载文件的大小信息

原文来自IOS教程网,转载时请注明文章的来源:http://ios.662p.com/thread-1660-1-1.html NSURLConnectionDataDelegate方法中有: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {     //This method is calle