zoukankan      html  css  js  c++  java
  • 获取全部校园新闻

    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')
  • 相关阅读:
    centos下 yum安装ngix
    [转]ORACLE函数大全
    Oracle的DML语言必备基础知识
    微信公众账号开发教程
    freemarker页面如何获取绝对路径basePath
    使用intellij的svn时提示出错: Can't use Subversion command line client: svn.Errors found while svn working copies detection.
    网站地址
    如何让tomcat不记录catalina.out这个日志文件
    在centos6.7用yum安装redis解决办法
    剑指 Offer 06. 从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/lawliet12/p/8797845.html
Copyright © 2011-2022 走看看