使用scrapy爬取新浪新闻

本文介绍了如何使用Scrapy框架爬取新浪新闻。关键步骤包括观察网页结构,定义item和meta参数,创建爬虫项目,设置items.py,编写newsina.py爬虫文件,实现数据管道pipelines.py,调整settings.py配置,并进行测试。过程中强调了item位置的重要性以及如何过滤无效数据。
摘要由CSDN通过智能技术生成

使用scrapy爬取新浪新闻
思路:通过观察,获取某节点作为当前节点,然后依次遍历大类链接 小类链接 子链接
要点:注意item和meta参数的使用。详情见代码newsina.py里面相关的注释
总结:个人因为item的位置,导致浪费了好多时间。
流程如下:

  1. 创建爬虫项目sina2

    scrapy startproject sina2
    
  2. 设置items.py文件,存储要爬取的数据类型及字段名字

    
    # -*- coding: utf-8 -*-
    
    import scrapy
    
    
    class Sina2Item(scrapy.Item):
        # 大类链接和url,如新闻 体育等
        parentUrl = scrapy.Field()
        parentTitle = scrapy.Field()
    
        # 小类链接和url,如新闻下面的国内 社会等
        subUrl = scrapy.Field()
        subTitle = scrapy.Field()
        # 小类存储路径
        subpath = scrapy.Field()
    
        # 子链接
        sonUrl = scrapy.Field()
        # 子链接里面的标题和内容
        head = scrapy.Field()
        content = scrapy.Field()
    
  3. 创建爬虫文件newsina.py

    
    # -*- coding: utf-8 -*-
    
    import os
    import scrapy
    from sina2.items import Sina2Item
    
    
    class NewsinaSpider(scrapy.Spider):
        name = 'newsina'
        allowed_domains = ['sina.com.cn']
        start_urls = ['http://news.sina.com.cn/guide/']
    
        def parse(self, response):
    
            
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值