博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取一篇新闻的全部信息
阅读量:6706 次
发布时间:2019-06-25

本文共 1757 字,大约阅读时间需要 5 分钟。

本次作业的要求来自于:

给定一篇新闻的链接newsUrl,获取该新闻的全部信息标题、作者、发布单位、审核、来源发布时间:转换成datetime类型。

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

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

代码如下:

#!/usr/bin/env python# _*_ coding:utf-8 _*import reimport requestsfrom datetime import datetimefrom bs4 import BeautifulSoup# 获取新闻网页的iddef newsid(url):    n_id = re.match('http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0314/(.*).html',url).group(1)    return n_iddef clickcount(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# 转换发布时间类型def fabushijian(soup):    date = soup.select('.show-info')[0].text.split()[0].split(':')[1]    time = soup.select('.show-info')[0].text.split()[1]    times = date + ' ' + time    times = datetime.strptime(times,'%Y-%m-%d %H:%M:%S')    return timesif __name__ == '__main__':    # 爬取网站的url    url = 'http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0314/10983.html'    res = requests.get(url)    res.encoding = 'utf-8'    soup = BeautifulSoup(res.text, 'html.parser')    title = soup.select('.show-title')[0].text    auditor = soup.select('.show-info')[0].text.split()[3]    comefrom = soup.select('.show-info')[0].text.split()[4]    detail = soup.select('.show-content')[0].text    author = soup.select('.show-info')[0].text.split()[2]    newsid = newsid(url)    time = fabushijian(soup)    clicktime = clickcount(url)    print(" 编号:" + newsid + '\n'" 标题:" + title + '\n', author + '\n', auditor + '\n',comefrom + '\n'" 正文:" + detail + '\n'" 次数:" + clicktime + '\n 发布时间: ', time)

运行结果如下:

 

转载于:https://www.cnblogs.com/lxcbk/p/10643506.html

你可能感兴趣的文章
深入浅出-iOS函数式编程的实现 && 响应式编程概念
查看>>
c语言疑惑点
查看>>
在MAC下怎样用SSH连接远程LINUXserver
查看>>
【深入剖析Tomcat笔记】第四篇 默认连接器
查看>>
ElasticSearch(1)-入门
查看>>
Stream.findFirst的一个疑问
查看>>
深入理解java虚拟机(二)HotSpot Java对象创建,内存布局以及訪问方式
查看>>
2017年淘客全新玩法——代理模式
查看>>
【ORACLE技术嘉年华PPT】MySQL压力测试经验
查看>>
AT发送短信(转)
查看>>
VB操作ISNULL
查看>>
PIC452外部中断进不去的原因?
查看>>
2.9 Fibonacci数列
查看>>
POJ 1721 CARDS(置换)
查看>>
Hypertable 0.9.6.4 发布,分布式数据库
查看>>
iphone sdk
查看>>
如何获取jqGrid中选择的行的数据
查看>>
Android 获取自带浏览器上网记录
查看>>
c++ 静态持续变量
查看>>
MFC超链接静态类的使用
查看>>