蚌埠学院官网综合新闻条目抓取

简介:

蚌埠学院综合新闻
QQ图片20181016133347.png

2.png

import requests
from bs4 import BeautifulSoup
from requests.exceptions import RequestException
import json

def get_one_page(url):
    try:
        headers = {
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'
        } 
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None

def page_parser(html):
    soup = BeautifulSoup(html,'lxml')
    
    for td in soup.find_all(name='td',attrs={'height':24}):
        # 超链接
        href = 'http://www.bbc.edu.cn' + td.find(name='td').a.attrs['href']
        # 标题
        title = td.find(name='td').a.font.string
        # 发布时间
        postTime = td.find(class_='postTime').string
        yield {
            'href':href,
            'title':title,
            'postTime':postTime
        }

def get_pages(url):
    html = get_one_page(url)
    soup = BeautifulSoup(html,'lxml')
    # 获取总页码
    pages = soup.find(name='a',attrs={'title':'进入尾页'}).attrs['href']
    # 将总页码提取出来
    pages = pages.split('/')[8]
    if pages :
         return pages
    return None

def write_to_file(content):
    with open('result.txt','a',encoding='utf-8') as f:
        f.write(json.dumps(content,ensure_ascii=False) + '\n')

def main(num=0):
    pages = get_pages('http://www.bbc.edu.cn/s/21/t/267/p/22/i/1/list.htm')
    pages = int(pages)
    if num:
        pages=num
    for page in range(1,pages):
        url = 'http://www.bbc.edu.cn/s/21/t/267/p/22/i/'+str(page)+'/list.htm'
        html = get_one_page(url)
        for item in page_parser(html):
            print(item)
    print('抓取了: '+str(pages)+'页综合新闻')

if __name__ == '__main__':
    main(20)
相关文章
|
3月前
|
人工智能 安全 测试技术
【教学基地平台更新日记】答疑论坛页
【教学基地平台更新日记】答疑论坛页
|
存储 JavaScript 关系型数据库
中国国家统计局发布的行政区划数据-nodejs抓取
由于国家的行政区划每年都有变化,所以经常需要更新最新的数据,这里提供一个nodejs版本mysql数据存储的抓取示例。
中国国家统计局发布的行政区划数据-nodejs抓取
|
JSON 运维 数据处理
1.4 项目评选系统的数据陈列展示|学习笔记
快速学习1.4 项目评选系统的数据陈列展示
142 0
1.4 项目评选系统的数据陈列展示|学习笔记
|
JSON JavaScript 小程序
HackerNews新闻列表功能描述|学习笔记
快速学习 HackerNews新闻列表功能描述
134 0
HackerNews新闻列表功能描述|学习笔记
html+css实战107-新闻列表-div布局
html+css实战107-新闻列表-div布局
90 0
|
编解码 数据可视化 BI
CSDN:借助工具对【本博客访问来源】进行数据图表可视化(网友主要来自美国、新加坡、日本、英德加澳等)——记录数据来源截止日期20200718晚上22点
CSDN:借助工具对【本博客访问来源】进行数据图表可视化(网友主要来自美国、新加坡、日本、英德加澳等)——记录数据来源截止日期20200718晚上22点
CSDN:借助工具对【本博客访问来源】进行数据图表可视化(网友主要来自美国、新加坡、日本、英德加澳等)——记录数据来源截止日期20200718晚上22点
号外!Rmarkdown教程全网发布
寒假期间花了大量时间(100h+)学习和制作了Rmarkdown入门教程,昨晚终于录制和剪辑完毕
121 0
|
算法 搜索推荐 机器学习/深度学习
优化百度新闻内容的7个技巧
优化百度新闻内容的7个技巧 百度新闻发生了巨大变化。许多优化新闻内容的最佳做法也发生了重大变化。 但是,百度新闻优化的一些基本原则在过去16年中基本没有改变。 优化新闻内容以提高可见性和流量的关键是弄清楚哪些内容已发生变化,哪些内容未发生变化。
1159 0
|
数据采集 关系型数据库 大数据
|
数据采集 数据可视化 Python
利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化
前几天给大家分享了如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,感兴趣的小伙伴可以点击链接进行查看。今天小编给大家介绍如何利用Python网络爬虫抓取微信好友的省位和城市,并且将其进行可视化,具体的教程如下。
1468 0