python爬虫之Request,BeautifulSoup进阶

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import re


res = requests.get('http://news.sina.com.cn/o/2017-12-01/doc-ifyphtze3020095.shtml')
res.encoding = 'utf-8'

#打印文章标题
soup = BeautifulSoup(res.text , 'html.parser')
print(soup.select('#artibodyTitle')[0].text)

#获取文章发表时间
timesource = soup.select('#navtimeSource')[0].contents[0].strip()

#获取文章来源
#wsource = soup.select('#navtimeSource')[0].contents[1].text.strip()
wsource = soup.select('#navtimeSource span a')[0].text

#获取文章来源链接 
wa = soup.select('#navtimeSource span a')[0].get('href')

#时字符串转时间格式
dt = datetime.strptime(timesource,'%Y年%m月%d日%H:%M')
#时间格式转字符串  
#dtstr = dt.strftime('%Y-%m-%d %H:%M:%S')  
#将时间,来源,链接依次打印  
print(dt,wsource,wa)


#取得文章内容
#方式1  
'''
article = []
for p in soup.select('#artibody p')[:-1]:
	article.append(p.text)

print(' '.join(article))
'''
#方式2  
print(' '.join(p.text.strip() for p in soup.select('#artibody p')[:-1]))


#选取新闻编辑者名称
print(soup.select('.article-editor')[0].text)
#print(soup.select('.article-editor')[0].text.lstrip('责任编辑:'))


#剖析新闻标识符
#方法1
newsurl = 'http://news.sina.com.cn/o/2017-12-01/doc-ifyphtze3020095.shtml'
newsid = newsurl.split('/')[-1].rstrip('.shtml').lstrip('doc-i')
print('newsid =',newsid)
'''
#方法2
m = re.search('doc-i(.+).shtml',newsurl)
print(m.group(0))
print(m.group(1))
'''

结果展示:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值