网络爬虫-课时9抓取新闻内文页面


网络学习笔记

import requests
from bs4 import BeautifulSoup
res = requests.get('http://news.sina.com.cn/c/nd/2016-08-20/doc-ifxvctcc8121090.shtml')
res.encoding = 'utf-8'
print(res.text)
soup = BeautifulSoup(res.text, 'html.parser')
soup.select('#artibodyTitle')[0].text
'环保部门不再核发机动车环保合格标志'
timesource = soup.select('.time-source')[0].contents[0].strip()#得到字符串
#timesource = soup.select('.time-source')[0]包含时间和来源,contents,得到不同的list,[0]取得第一个,strip去掉控制符
type(timesource)#取得字符串转换成时间,需要用datetime.strptime(,'%Y年%m月%d日%H:%M');时间转换为字符串.strftime('%Y-%m-%d')
timesource

'2016年08月20日22:21'

from datetime import datetime
dt = datetime.strptime(timesource, '%Y年%m月%d日%H:%M')
dt.strftime('%Y-%m-%d')
'2016-08-20'

soup.select('.time-source span a')[0].text
'新华网'
soup.select('#artibody p')[:-1]#[:-1]可以吧最后一个<p去掉
[<p>  原标题:挡风玻璃“减负”:环保部门不再核发机动车环保合格标志</p>,
 <p>  新华社北京8月20日电 记者日前从环境保护部获悉,环保部、公安部、国家认监委联合发布《关于进一步规范排放检验加强机动车环境监督管理工作的通知》,进一步规范机动车排放检验。通知明确,环保部门不再核发机动车环保检验合格标志,以后汽车挡风玻璃上的年检标志将从三个变成两个。</p>]
article = []
for p in soup.select('#artibody p')[:-1]:
    article.append(p.text.strip())
print(article)#\u3000\u3000是空白的控制码,strip()移除左右空白

' '.join(article)#字符串以空白连接

'原标题:挡风玻璃“减负”:环保部门不再核发机动车环保合格标志 新华社北京8月20日电 记者日前从环境保护部获悉,环保部、公安部、国家认监委联合发布《关于进一步规范排放检验加强机动车环境监督管理工作的通知》,进一步规范机动车排放检验。通知明确,环保部门不再核发机动车环保检验合格标志,以后汽车挡风玻璃上的年检标志将从三个变成两个。'


一行代码实现

' '.join([p.text.strip() for p in soup.select('#artibody p')[:-1]])

soup.select('.article-editor')[0].text.lstrip('责任编辑:')
'瞿崑 SN117'





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值