scrapy 爬取校花网

原文链接: scrapy 爬取校花网

上一篇: scrapy 安装和简单命令

下一篇: scrapy 腾讯 招聘信息爬取

网址,爬取名称和对应的图片链接,并保存为json格式

http://www.xiaohuar.com/2014.html

dd9a7215abfad0e5a529614b6908cb0f30e.jpg

新建项目

scrapy startproject girl

项目结构

5a8779d2f50ba3dae1e91e28da785c8b1a3.jpg

scrapy.cfg  项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)

items.py    设置数据存储模板,用于结构化数据,如:Django的Model

pipelines    数据处理行为,如:一般结构化的数据持久化

settings.py 配置文件,如:递归的层数、并发数,延迟下载等

spiders      爬虫目录,如:创建文件,编写爬虫规则

创建爬虫

scrapy genspider test www.xiaohuar.com/2014.html

eeb5994fa34ba790644bdf259e0c70d6f03.jpg

会自动生成爬虫文件

在设置文件中关闭robot设置

d034efeff6291a22e3415a289d57d4f199d.jpg

div,img,a标签的xpath依次获取后,进行修改

        '//*[@id="list_img"]/div[1]/div/div[2]'
        '//*[@id="list_img"]/div[1]/div/div[2]/div[1]/div[2]/a/img'
        '//*[@id="list_img"]/div[1]/div/div[2]/div[1]/div[3]/span/a'

编写爬虫文件

import scrapy


class TestSpider(scrapy.Spider):
    name = 'test'
    allowed_domains = ['xiaohuar.com']
    start_urls = ['http://www.xiaohuar.com/2014.html']

    def parse(self, response):
        items = []

        nodes = response.xpath('//*[@id="list_img"]/div[1]/div/div')
        print('nodes:', nodes)
        for node in nodes:
            url = node.xpath('div[1]/div[2]/a/img/@src').extract()[0]
            text = node.xpath('div[1]/div[3]/span/a/text()').extract()[0]
            print(text, url)
            item = {}
            item['name'] = text
            item['url'] = url
            items.append(item)
        return items

启动并保存为json格式,设置不输出日志,默认可以保存为json,csv,xml等格式

scrapy crawl test  -o girls.json --nolog

7c807a1f22204f280a038944e2cc123d84b.jpg

3bb2241283f9d3e93e34fd83842861f925a.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值