获取全部校园新闻

1.取出一个新闻列表页的全部新闻 包装成函数。

2.获取总的新闻篇数,算出新闻总页数。

3.获取全部新闻列表页的全部新闻详情。

4.找一个自己感兴趣的主题,进行数据爬取,并进行分词分析。不能与其它同学雷同。

复制代码
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import re
 
 
# 获取新闻列表页的简略信息
def crawlOnePage(url):
    res=requests.get(url)
    res.encoding = 'UTF-8'
    soup = BeautifulSoup(res.text, 'html.parser')
    cont=soup.select('.block')
    for i in cont:
        print('——'*10 + '---' + '——'*10)
        print()
        print('新闻网址: ' + 'www.sustc.edu.cn' + i.select('a')[0]['href'])
        print('新闻标题: ' + i.select('a')[0]['title'])
        a='http://www.sustc.edu.cn' + i.select('a')[0].attrs['href']
        print(a)
        getDetail(a)
 
 
        print()
 
# #获取新闻具体信息
def getDetail(url):
    res = requests.get(url)
    res.encoding = 'UTF-8'
    soup = BeautifulSoup(res.text, 'html.parser')
    cont=soup.select('.d')[0].text
    #将时间字符串转换成datetime格式
    release_time=datetime.strptime(cont,'%Y-%m-%d ')
    print(release_time)
    print('新闻类型: ' + soup.select('.tag')[0].text)
    content=soup.select('.txt')[1].select('p')
    print(content[-1].text)
    for i in content[:-2]:
        print(i.text)
 
#取得所有页面的新闻
def getTotalPage(url):
    res = requests.get(url)
    res.encoding = 'UTF-8'
    soup = BeautifulSoup(res.text, 'html.parser')
    # print(res.text)
    d = int(soup.select('.page_span')[0].text[:soup.select('.page_span')[0].text.index('')].lstrip(''))
    for i in range(1,d):
        page=str(i)
        geturl='http://www.sustc.edu.cn/news_events_/p/'+page
        crawlOnePage(geturl)
 
 
 
getTotalPage('http://www.sustc.edu.cn/news_events_/4722')
复制代码

 

posted @   lawliet9  阅读(148)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示