zoukankan      html  css  js  c++  java
  • 爬取新闻列表

    获取单条新闻的#标题#链接#时间#来源#内容 #点击次数,并包装成一个函数

    获取一个新闻列表页的所有新闻的上述详情,并包装成一个函数

    获取所有新闻列表页的网址,调用上述函数

    完成所有校园新闻的爬取工作

    import requests
    from bs4 import BeautifulSoup
    from datetime import datetime
    import re
    
    net = 'http://news.gzcc.cn/html/xiaoyuanxinwen/'
    res = requests.get(net)
    res.encoding='utf-8'
    doc = BeautifulSoup(res.text,'html.parser',from_encoding='utf-8')
    
    def getclick(newsurl):
        id = re.search('_(.*).html',newsurl).group(1).split('/')[1]
        clickurl = 'http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80'.format(id)
        click = int(requests.get(clickurl).text.split('.')[-1].lstrip("html('").rstrip("');"))
        return click
    
    count = int(doc.select(".a1")[0].text.rstrip(""))
    page = count//10
    
    print('',page,'')
    
    for news in doc.select('li'):
        if len(news.select('.news-list-title'))>0:
            title = news.select('.news-list-title')[0].text
            url = news.select('a')[0]['href']
            time = news.select('.news-list-info')[0].contents[0].text
            main = news.select('.news-list-description')[0].text
            source = news.select('.news-list-info')[0].contents[1].text
    
            resd = requests.get(url)
            resd.encoding='utf-8'
            docd = BeautifulSoup(resd.text,'html.parser',from_encoding='utf-8')
            detail = docd.select('.show-content')[0].text
    
            click = getclick(url)
            
        
            print('Url:{}'.format(news.select('a')[0]['href']))
            print('标题:{}'.format(news.select('.news-list-title')[0].text))
            print('正文:{}'.format(news.select('.news-list-description')[0].text))
            print('时间:{}'.format(news.select('.news-list-info')[0].contents[0].text))
            print('来源:{}'.format(news.select('.news-list-info')[0].contents[1].text))
            print('点击次数:',click)
            print(detail)
            
  • 相关阅读:
    Django drf 功能组件
    Django drf 视图家族
    Django drf初级
    Django drf序列化器 Serializer
    VUE 全整理
    Django Xadmin的安装方式
    python virtualenv虚拟环境搭建
    版本控制器:操作流程
    版本控制器:GIT线上操作
    《剑指offer》---跳台阶问题
  • 原文地址:https://www.cnblogs.com/knight-hui/p/7649094.html
Copyright © 2011-2022 走看看