Node.js抓取新浪新闻标题

"use strict";

let cheerio = require("cheerio");
let http = require("http");
let iconv = require("iconv-lite");

let mainUrl = "http://news.sina.com.cn/world/";

http.get(mainUrl, function(sres) {
    var chunks = [];
    sres.on(‘data‘, function(chunk) {
        chunks.push(chunk);
    });

    sres.on(‘end‘, function() {

        var html = iconv.decode(Buffer.concat(chunks), ‘utf8‘);
        var $ = cheerio.load(html, {decodeEntities: false});

        $(‘.content a‘).each(function (idx,element){
            let ele = $(element);
            let title = ele.text();
            title = !!title?title.trim():‘‘;
            let url = ele.attr(‘href‘);
            url = !!url?url.trim():‘‘;
            if(title.length>4 && url.length>0&&url.indexOf(‘javascript‘)===-1){
                console.log(title+‘|‘+url);
            }

        })

    });
});

原文地址:https://www.cnblogs.com/sheryee/p/8783446.html

时间: 2024-10-13 21:30:38

Node.js抓取新浪新闻标题的相关文章

python爬虫:使用urllib.request和BeautifulSoup抓取新浪新闻标题、链接和主要内容

案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSoup import requests url = 'http://news.sina.com.cn/china/' web_data = requests.get(url) web_data.encoding = 'utf-8' soup = BeautifulSoup(web_data.text,'

python爬虫:抓取新浪新闻内容(从当前时间到之前某个时间段),并用jieba分词,用于训练自己的分词模型

新浪新闻内容采用的是ajax动态显示内容,通过抓包,发现如下规律: 每次请求下一页,js那一栏都会出现新的url: "http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gnxw&cat_2==gdxw1" "||=gatxw||=zs-pl||=mtjj&level==1||=2&show_ext=1&show_all=1&show_num=22&ta

Python抓取新浪新闻数据(二)

以下是抓取的完整代码(抓取了网页的title,newssource,dt,article,editor,comments)举例: 原文地址:http://blog.51cto.com/2290153/2126861

使用fastjson解析json抓取新浪新闻文章

首先看看2个简单的fastjson的使用 例子一 package ivyy.taobao.com.domain.json; import java.util.Iterator; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** * @Author:jilongliang * @Date:2014-12-19 * @Version:1.0 * @Description: */ pub

抓取新浪新闻的内容以及链接

import requestsfrom bs4 import BeautifulSoupres = requests.get('http://news.sina.com.cn/china/')res.encoding='utf-8'soup = BeautifulSoup(res.text,'html.parser') for news in soup.select('.news-item'): if(len(news.select('h2'))>0): h2=news.select('h2')

用Selenium抓取新浪天气

(1)用Selenium抓取新浪天气 系统环境: 操作系统:macOS 10.13.6 python :2.7.10 用虚拟环境实现 一.创建虚拟环境: mkvirtualenv --python=/usr/bin/python python_2 二.激活虚拟环境: workon python_2 三.安装Selenium pip install Selenium 四.安装firefox的Selenium补丁文件: brew install geckodriver 五.在~/.bash_prof

node.js抓取数据(fake小爬虫)

在node.js中,有了 cheerio 模块.request 模块,抓取特定URL页面的数据已经非常方便. 一个简单的就如下 var request = require('request'); var cheerio = require('cheerio'); request(url,function(err,res){ if(err) return console.log(err); var $ = cheerio.load(res.body.toString()); //解析页面内容 })

node.js 抓取代理ip

node.js实现抓取代理ip 主要文件:index.js /* * 支持:node.js v7.9.0 */ const cheerio=require('cheerio'); const fetch =require('node-fetch'); const Promise=require('bluebird'); let mongoose=require('mongoose'); Promise.promisifyAll(mongoose); let Schema=mongoose.Sch

爬虫Scrapy学习指南之抓取新浪天气

scrapy有一个简单的入门文档,大家可以参考一下,我感觉官方文档是最靠谱的,也是最真实的. 首先我们先创建一个scrapy的项目 scrapy startproject weather 我采用的是ubuntu12.04的系统,建立项目之后主文件夹就会出现一个weather的文件夹.我们可以通过tree来查看文件夹的结构.可以使用sudoapt-get install tree安装. tree weather weather ├── scrapy.cfg ├── wea.json ├── wea