美文网首页
爬虫scrapy框架(3)

爬虫scrapy框架(3)

作者: 猛犸象和剑齿虎 | 来源:发表于2019-05-28 05:35 被阅读0次
    t013b9c86f5a43c0037.jpg
    • 爬虫的目的不是爬取出页面,而是页面中想要获取的信息,因此我们在上一节的基础上加入正则表达式获取信息,而且我们在items.py中定义了目标数据字段title = scrapy.Field() artist= scrapy.Field() 用来接收爬虫解析出的数据,然后return返回我们需要的信息,交给管道(pipelines)处理。
    import scrapy
    import re
    from myspider.items import MyspiderItem
    class MusicspiderSpider(scrapy.Spider):
        name = 'musicspider'#爬虫识别名称
        allowed_domains = ['htqyy.com']#爬虫能够爬取的网址范围
        start_urls = ['http://www.htqyy.com/top/musicList/hot?pageIndex=0&pageSize=20']#爬取的起始url
    
        def parse(self, response):
            # filename='music.html'
            data= response.body.decode()#获取响应内容
            # open(filename,'wb').write(data)#写入本地,请求的动作被框架完成
            items=[]# 存放音乐信息的列表
            titles = re.findall(r'target="play" title="(.*?)"',data)#获取所有歌曲名
            artists = re.findall(r'target="_blank">(.*?)</a>', data)#获取所有艺术家
    
            for i in range(0,len(titles)):
                item=MyspiderItem()
                item["title"]=titles[i]
                item["artist"] = artists[i]
    
                items.append(item)
            return items
    

    在黑屏终端上输入:
    scrapy crawl musicspider -o mu.json
    获取json形式的数据。

    image.png
    • 创建aa.py和mu.json放在同一文件路径下。
      aa.py
    import json
    with open("mu.json",'rb') as f:
        data=json.load(f)
    print(data)
    
    • 返回结果:
    [{'title': '清晨', 'artist': '班得瑞'}, {'title': '播放', 'artist': '班得瑞轻音乐精选'}, {'title': '月光下的凤尾竹', 'artist': '施光南'}, {'title': '播放', 'artist': '中国轻音乐精选集'}, {'title': '故乡的原风景', 'artist': '宗次郎'}, {'title': '播放', 'artist': '史上最优美的轻音乐'}, {'title': '心灵雨伞', 'artist': '轻音乐'}, {'title': '播放', 'artist': '史上最优美的轻音乐'}, {'title': '荡涤心灵的天籁之音', 'artist': '古筝'}, {'title': '播放', 'artist': '最经典的纯音乐'}, {'title': '夜的钢琴曲五', 'artist': '石进'}, {'title': '播放', 'artist': '史上最优美的轻音乐'}, {'title': '极度放松睡眠轻音乐', 'artist': '班得瑞'}, {'title': '播放', 'artist': '睡眠轻音乐'}, {'title': '时间都去哪了', 'artist': '赵海洋'}, {'title': '播放', 'artist': '唯美动听的钢琴曲'}, {'title': 'The Beginning', 'artist': 'Ryran&#183;Tomson'}, {'title': '播放', 'artist': '触动心灵之弦的乐曲'}, {'title': '秋日私语', 'artist': '理查德'}, {'title': '播放', 'artist': '理查德经典钢琴曲'}, {'title': '你的微笑', 'artist': '班得瑞'}, {'title': '播放', 'artist': '班得瑞轻音乐精选'}, {'title': '斯卡布罗市集(口哨曲)', 'artist': '轻音乐'}, {'title': '播放', 'artist': '史上最优美的轻音乐'}, {'title': '亡灵序曲', 'artist': 'Dreamtale'}, {'title': '播放', 'artist': '好听的电子音乐'}, {'title': '唯美治愈系钢琴', 'artist': 'Steven Barnes'}, {'title': '播放', 'artist': '放松心情缓解压力的轻音乐'}, {'title': '牧羊曲', 'artist': '古筝'}, {'title': '播放', 'artist': '古筝名曲精选集'}, {'title': '夜曲(很伤感的纯音乐)', 'artist': '神秘园'}, {'title': '播放', 'artist': '神秘园精选集'}, {'title': '月光', 'artist': '班得瑞'}, {'title': '播放', 'artist': '班得瑞经典收藏'}, {'title': '寂静之声', 'artist': '班得瑞'}, {'title': '播放', 'artist': '班得瑞轻音乐精选'}, {'title': '雨的印记', 'artist': '李闰珉'}, {'title': '播放', 'artist': '减压舒缓精选'}, {'title': '聆听心灵深处的呼唤', 'artist': 'Karunesh'}, {'title': '播放', 'artist': '史上最优美的轻音乐'}]
    

    相关文章

      网友评论

          本文标题:爬虫scrapy框架(3)

          本文链接:https://www.haomeiwen.com/subject/kbtqtctx.html