python 抓取新浪新闻—标题,时间,来源

import requests
from bs4 import BeautifulSoup
from datetime import datetime 
res=requests.get('http://news.sina.com.cn/w/2018-07-26/doc-ihfvkitx2799504.shtml')
res.encoding='utf-8'
soup=BeautifulSoup(res.text,'html.parser')

#抓取新闻内文标题
title=soup.select('.main-title')[0].text

#获得新闻内文时间
date=soup.select('.date')[0].contents[0].strip()  #字符串类型
print(date)
#字符串转换数字
dt=datetime.strptime(date,'%Y年%m月%d日  %H:%M')

#数字转字符串
print(dt.strftime('%Y-%m-%d '))

#获取新闻来源
source=soup.select('.source')[0].text

print(title,dt,source)

爬取结果:

2018年07月26日 19:16
2018-07-26 
巴基斯坦刚刚“变天” “巴铁”会变心吗? 2018-07-26 19:16:00 环球网

对比:

date=soup.select('.date')[0]
print(date)

结果:

<span class="date">2018年07月26日 19:16</span>

date=soup.select('.date')
print(date)

结果:

[<span class="date">2018年07月26日 19:16</span>]

date=soup.select('.date')[0].contents[0]
print(date)

结果:

2018年07月26日 19:16

date=soup.select('.date')[0].contents[0].strip()
print(date)

结果:

2018年07月26日 19:16
展开阅读全文

没有更多推荐了,返回首页