• 代码源分析


    <h4 class="slider_ct_name" id="slider_ct_name">武汉</h4>    <!--城市名可以通过获取id为slider_ct_name的h4元素获取-->
    
    ...
    <div class="blk_fc_c0_scroll" id="blk_fc_c0_scroll" style=" 1700px;">
     <div class="blk_fc_c0_i"> 
            <p class="wt_fc_c0_i_date">01-28</p>
     <!--日期可以通过获取id为blk_fc_c0_scroll下的class为wt_fc_c0_i_date的p元素获取-->      
         <p class="wt_fc_c0_i_day wt_fc_c0_i_today">今天</p>
            <p class="wt_fc_c0_i_icons clearfix">
                <img class="icons0_wt png24" src="http://www.sinaimg.cn/dy/weather/main/index14/007/icons_42_yl/w_04_27_00.png" alt="雨夹雪" title="雨夹雪">
    <!--天气描述可以通过获取id为blk_fc_c0_scroll下的class为icons0_wt的img元素获取-->

    <img class="icons0_wt png24" src="http://www.sinaimg.cn/dy/weather/main/index14/007/icons_42_yl/w_04_29_01.png" alt="中雪" title="中雪"> </p> <p class="wt_fc_c0_i_times"> <span class="wt_fc_c0_i_time">白天</span> <span class="wt_fc_c0_i_time">夜间</span> </p> <p class="wt_fc_c0_i_temp">1°C / -2°C</p>
    <!--温度可以通过获取id为blk_fc_c0_scroll下的class为wt_fc_c0_i_temp的p元素获取-->
            <p class="wt_fc_c0_i_tip">北风 3~4级</p>
            <p class="wt_fc_c0_i_tip">无持续风向 小于3级</p>
        </div>
        <div class="blk_fc_c0_i">    
            <p class="wt_fc_c0_i_date">01-29</p>
            <p class="wt_fc_c0_i_day ">星期四</p>
            <p class="wt_fc_c0_i_icons clearfix">
                <img class="icons0_wt png24" src="http://www.sinaimg.cn/dy/weather/main/index14/007/icons_42_yl/w_04_29_00.png" alt="中雪" title="中雪">
                <img class="icons0_wt png24" src="http://www.sinaimg.cn/dy/weather/main/index14/007/icons_42_yl/w_07_25_01.png" alt="阴" title="阴">
            </p>
            <p class="wt_fc_c0_i_times">
                <span class="wt_fc_c0_i_time">白天</span>
                <span class="wt_fc_c0_i_time">夜间</span>
            </p>
            <p class="wt_fc_c0_i_temp">1°C / -2°C</p>
            <p class="wt_fc_c0_i_tip">无持续风向 小于3级</p>
        </div>
        ...
    </div>

    so, spider代码如下(代码中的xpath和css后面括号的内容为选择器)

    # -*- coding: utf-8 -*-
    import scrapy
    from weather.items import WeatherItem
    
    
    class WeatherSpider(scrapy.Spider):
        name = "myweather"
        allowed_domains = ["sina.com.cn"]
        start_urls = ['http://weather.sina.com.cn']
    
        def parse(self, response):
            item = WeatherItem()
            item['city'] = response.xpath('//*[@id="slider_ct_name"]/text()').extract()
    <!--城市名可以通过获取id为slider_ct_name的h4元素获取-->
    tenDay = response.xpath('//*[@id="blk_fc_c0_scroll"]'); 
    item[
    'date'] = tenDay.css('p.wt_fc_c0_i_date::text').extract()
     <!--日期可以通过获取id为blk_fc_c0_scroll下的class为wt_fc_c0_i_date的p元素获取-->

    item[
    'dayDesc'] = tenDay.css('img.icons0_wt::attr(title)').extract()
    <!--天气描述可以通过获取id为blk_fc_c0_scroll下的class为icons0_wt的img元素获取-->

    item[
    'dayTemp'] = tenDay.css('p.wt_fc_c0_i_temp::text').extract()
    <!--温度可以通过获取id为blk_fc_c0_scroll下的class为wt_fc_c0_i_temp的p元素获取-->

    return item
  • 相关阅读:
    看懂SqlServer查询计划
    jQuery 插件autocomplete自动完成应用(自动补全)(asp.net后台)
    MVC Html.AntiForgeryToken() 防止CSRF攻击
    iOS开发UI篇—transframe属性(形变)
    iOS开发UI基础—手写控件,frame,center和bounds属性
    iOS开发UI篇—Button基础
    iOS开发UI篇—UITableviewcell的性能优化和缓存机制
    iOS开发UI篇—UITableview控件基本使用
    iOS开发UI篇—UITableview控件简单介绍
    iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)
  • 原文地址:https://www.cnblogs.com/GeJinZi/p/6769769.html
Copyright © 2020-2023  润新知