zoukankan      html  css  js  c++  java
  • 入门级新闻爬虫

    区块链资讯爬虫项目

    项目需求分析

    项目目标网站

    链得得: http://www.chaindd.com/
    金色财经: https://www.jinse.com
    巴比特: http://www.8btc.com/news

    爬虫目标分析

    1,链得得和金色财经首页结构相对简单,资讯新闻的爬取特征明显。无需太多特殊抓取方法。
    2,巴比特首页广告和外链较多,经过分析直接抓取新闻页。
    3,3大网站都是动态网站,资讯需要通过selenium进行动态抓取
    4,对于那些时效性不强的老旧资讯,可以适当地舍弃。只抓取发布时间较新地资讯

    爬虫存储结构(数据库)

    _id				: 唯一标识
    spider_time		: 采集时间
    news_link       :新闻原链接
    news_img        :新闻原首页图
    news_title      :新闻原标题
    news_author     :作者
    news_time       :来源发布时间(可能需要增加一个本地发布时间)
    news_keyword    :关键字
    news_source     :来源媒体
    news_synopsis   :简介
    news_content    :正文
    status          :后台使用
    category_id     : 后台使用
    news_md5        : 正文md5值
    
    爬虫开发说明

    1,爬虫目标链接:['http://www.8btc.com/news','http://www.chaindd.com','https://www.jinse.com/']

    2,利用selenium模拟浏览器访问,获取首页源代码,通过beautifulsoup获取HTML代码结构,并分析抓取最新资讯正文地链接地址列表。get_html_code方法

    3,将取到地正文地址列表和数据库中地链接地址比对,筛选出没有抓取的正文。links_changed方法。

    4,获取列表后再将每个正文地址传入get_html_code获取正文页源代码,在获取前会使用http_status判断链接是否可用

    5,利用正则表达式和其他工具编写news_page_info方法,提取需要资源。并通过string_format,filter_html_tags方法过滤一些不必须要地html代码和信息。

    6,将正文内容传入update_news_info方法,更新到数据库

    7,8btc的网站使用正文MD5值去对比,从而判断新闻是否采集。

    爬虫程序测试

    暂无(已在服务器正常运行一周时间无报错,工作日每小时基本都有5条左右资讯)

    PS: 项目地址:https://github.com/sylarjiang/spider
    过几天有空了准备用scrapy改写

  • 相关阅读:
    [整理]Cadence 生成带有网络追踪的 PDF 原理图
    [整理]FSM 有限状态机
    [原创]Quartus 中调用 Modelsim 波形仿真
    [原创]SPI 协议介绍以及基于 Verilog 的 IP 核实现
    [原创]Verilog 代码编程规范(个人用)
    [算法]线段树
    [算法]tarjan
    poj3280
    poj 3258 River Hopscotch
    [poj 1251]Jungle Roads
  • 原文地址:https://www.cnblogs.com/ops-sylar/p/9496097.html
Copyright © 2011-2022 走看看