爬取校园新闻首页的新闻

Posted zhiling123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬取校园新闻首页的新闻相关的知识,希望对你有一定的参考价值。

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

import requests
from bs4 import BeautifulSoup
url = \'http://news.gzcc.cn/html/xiaoyuanxinwen/\'
res = requests.get(url)
res.encoding = \'utf-8\'
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].contents[0].text  #时间
        t = news.select(\'.news-list-title\')[0].text  #标题
        a = news.select(\'a\')[0].attrs[\'href\']   #连接
        print(d, t, a)      
        # 通过连接获取新闻网页
        res2 = requests.get(a)
        res2.encoding = \'utf-8\'
        soup2 = BeautifulSoup(res2.text, \'html.parser\')
        # 取得新闻正文
        z=soup2.select(\'#content\')[0].text
        print(z)
        break

  运行结果如图所示:

 

 

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

 #取得发布时间、作者等数据项
        info=soup2.select(\'.show-info\')[0].text
        # print(info)
        dt = info.lstrip(\'发布时间:\')[:19]
        at = info[info.find(\'作者:\'):].split()[0].lstrip(\'作者:\')
        sh = info[info.find(\'审核:\'):].split()[0].lstrip(\'审核:\')
        ly = info[info.find(\'来源:\'):].split()[0].lstrip(\'来源:\')
        print(dt, at, sh, ly)

  运行结果如下:

 

 

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

from datetime import datetime
        dati = datetime.strptime(dt, \'%Y-%m-%d %H:%M:%S\')
        print(dati, dati.strftime(\'%Y/%m/%d\'))

  运行结果如图所示:

 

 

4. 将完整的代码及运行结果截图发布在作业上

 

# -*- coding: UTF-8 -*-
# -*- author: wang -*-

import requests
from bs4 import BeautifulSoup
url = \'http://news.gzcc.cn/html/xiaoyuanxinwen/\'
res = requests.get(url)
res.encoding = \'utf-8\'
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].contents[0].text
        t = news.select(\'.news-list-title\')[0].text                   #标题
        a = news.select(\'a\')[0].attrs[\'href\']                           #连接
        print(d, t, a)
        # 通过连接获取新闻网页
        res2 = requests.get(a)
        res2.encoding = \'utf-8\'
        soup2 = BeautifulSoup(res2.text, \'html.parser\')
        # 取得新闻正文
        z=soup2.select(\'#content\')[0].text
        print(z)
        #取得发布时间、作者等数据项
        info=soup2.select(\'.show-info\')[0].text
        print(info)
        dt = info.lstrip(\'发布时间:\')[:19]
        at = info[info.find(\'作者:\'):info.find(\'审核:\')].split()[0].lstrip(\'作者:\')
        sh = info[info.find(\'审核:\'):].split()[0].lstrip(\'审核:\')
        ly = info[info.find(\'来源:\'):].split()[0].lstrip(\'来源:\')
        print(dt,at,sh,ly)
        from datetime import datetime
        dati = datetime.strptime(dt, \'%Y-%m-%d %H:%M:%S\')
        # print(type(dati))
        print(dati, dati.strftime(\'%Y/%m/%d\'))
        break

  

 

运行代码如图所示:

 

以上是关于爬取校园新闻首页的新闻的主要内容,如果未能解决你的问题,请参考以下文章

爬取校园新闻首页的新闻

爬取校园新闻首页的新闻

爬取校园新闻首页的新闻

爬取校园新闻首页的新闻

爬取校园新闻首页的新闻

爬取校园新闻首页的新闻