爬取校园新闻首页的新闻

1. 用requests库和BeautifulSoup库,爬取校园新闻首页新闻的标题、链接、正文。

     

import requests
newsurl='http://news.gzcc.cn/html/xiaoyuanxinwen/'
res = requests.get(newsurl) #返回response对象
res.encoding='utf-8'


from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text,'html.parser')

for news in soup.select('li'):
    if len(news.select(".news-list-title"))>0:
       d= news.select('.news-list-info')[0].text
       t= news.select(".news-list-title")
       a=news.select("a")[0].attrs['href']
       print(d,t,a)

 

2. 分析字符串,获取每篇新闻的发布时间,作者,来源,摄影等信息。

     


import requests
newsurl='http://news.gzcc.cn/html/xiaoyuanxinwen/'
res = requests.get(newsurl) #返回response对象
res.encoding='utf-8'

from datetime import datetime
from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text,'html.parser')

for news in soup.select('li'):
    if len(news.select(".news-list-title"))>0:
       d= news.select('.news-list-info')[0].text
       t= news.select(".news-list-title")
       a=news.select("a")[0].attrs['href']
       #print(d,t,a)

       resd=requests.get(a)
       resd.encoding = 'utf-8'
       soupd=BeautifulSoup(resd.text,'html.parser')
       c=soupd.select('#content')[0].text
       info=soupd.select(".show-info")[0].text
       dt=info.lstrip('发布时间:')[:19]
       dati=datetime.strptime(dt,'%Y-%m-%d %H:%M:%S')
       ze=info[info.find('作者:'):].split()[0].lstrip('作者:')
       sh=info[info.find('审核:'):].split()[0].lstrip('审核:')

       print(dati,t,a,sh)
       break


3. 将其中的发布时间由str转换成datetime类型。

     

dati=datetime.strptime(dt,'%Y-%m-%d %H:%M:%S')

 

 

posted on 2018-04-03 17:48  217-吴文成  阅读(120)  评论(0编辑  收藏  举报