**spider目录下的文件:定义DemoSpider类**
# -*- coding: utf-8 -*-
from scrapy.spiders import CrawlSpider,Rule
from scrapy.linkextractors import LinkExtractor
from img.items import ImgItem
#from bs4 import BeautifulSoup
#import urllib
#import requests
class  DemoSpider(CrawlSpider):name='demo'start_urls = ['http://www.xiaohuar.com/list-1-2.html']"""第一个Rule是用来筛选所有的网页第二个是用来搜索当前页面的所有校花的子urlallow里面的是正则表达式索引带有这个正则的urlrestrict_xpaths限定的是搜索的范围callback回调函数,用来处理页面process_links用来定义出来url的链接,其中定义的函数要传入参数linksfollow是用来定义是否跟进"""rules={Rule(LinkExtractor(allow=('http://www.xiaohuar.com/list'),restrict_xpaths=("//div[@class='page_num']")),#callback="paser_url",follow=True),Rule(LinkExtractor(allow='/p',restrict_xpaths="//div[@class='title']"),callback="paser_item",follow=False)}def paser_item(self,response):item=ImgItem()url=response.urlprint "url=%s"%url#检查异常try:img_url=response.xpath("//div[@class='infoleft_imgdiv']/a/img/@src").extract()[0]name=response.xpath("//div[@class='infodiv']/table/tbody/tr[1]/td[2]/text()").extract()school=response.xpath("//div[@class='infodiv']/table/tbody/tr[5]/td[2]/text()").extract()if 'http://www.xiaohuar.com' not in img_url:item['url'] = 'http://www.xiaohuar.com'+img_urlelse:item['url']=img_urlitem['name'] = nameitem['school'] = schoolyield itemexcept Exception:print 'error'**定义items文件**
import scrapyclass ImgItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()url=scrapy.Field()name=scrapy.Field()school=scrapy.Field()*******定义pipelines文件***********import codecs
import json
import urllib
import os
class ImgPipeline(object):def __init__(self):self.file=codecs.open('items.json','w',encoding='utf-8') #以json文件的方式打开,编码为utf-8,否则会乱码# self.file_path=os.path.normpath("h:\\scrapy\\img\\img_picture")# self.count=1def process_item(self, item, spider):    #必须实现的函数,用于操作itemline=json.dumps(dict(item),ensure_ascii=False)+'\n'    #将item中的每一个数据转换成json格式的并且每一个数据都要换行娴熟# if not os.path.exists(self.file_path):#     os.mkdir(self.file_path)#     img_name=os.path.normpath("h:\\scrapy\\img\\img_picture\\%s.jpg"%self.count)#     urllib.urlretrieve(item['url'],img_name)#     self.count+=1self.file.write(line)return item      #最后一般都要返回item,以便后续还要操作itemdef close_file(self):self.file.close()***********seetting****************#在setting文件中加上下面这句话ITEM_PIPELINES={"img.pipelines.ImgPipeline":300
}

scrapy框架爬取校花网站的升级版相关推荐

  1. 利用Python Scrapy框架爬取“房天下”网站房源数据

    文章目录 分析网页 获取新房.二手房.租房数据 新房数据 租房数据: 二手房数据 反反爬虫 将数据保存至MongoDB数据库 JSON格式 CSV格式 MongoDB数据库 分析网页 "房天 ...

  2. scrapy框架爬取糗妹妹网站妹子图分类的所有图片

    爬取所有图片,一个页面的图片建一个文件夹.难点,图片中有不少.gif图片,需要重写下载规则, 创建scrapy项目 scrapy startproject qiumeimei 创建爬虫应用 cd qi ...

  3. Python爬虫框架 scrapy 入门经典project 爬取校花网资源、批量下载图片

    ####1.安装scrapy 建议:最好在新的虚拟环境里面安装scrapy 注意:博主是在 Ubuntu18.04 + Python3.6 环境下进行开发的,如果遇到安装scrapy不成功请自行百度/ ...

  4. scrapy框架爬取网站图片

    使用scrapy 框架爬取彼岸图库 前言: 这两天在网上学习了一下scrapy框架,发现及其好用,把爬虫步骤分的细细的.所以写了一个简单项目回顾一下并分享给大家^ . ^ 源码我已经放到Github了 ...

  5. Python的Scrapy框架爬取诗词网站爱情诗送给女友

    文章目录 前言 效果展示: 一.安装scrapy库 二.创建scrapy项目 三.新建爬虫文件scmg_spider.py 四.配置settings.py文件 五.定义数据容器,修改item.py文件 ...

  6. scrapy 爬取校花网

    原文链接: scrapy 爬取校花网 上一篇: scrapy 安装和简单命令 下一篇: scrapy 腾讯 招聘信息爬取 网址,爬取名称和对应的图片链接,并保存为json格式 http://www.x ...

  7. 利用python的scrapy框架爬取google搜索结果页面内容

    scrapy google search 实验目的 爬虫实习的项目1,利用python的scrapy框架爬取google搜索结果页面内容. https://github.com/1012598167/ ...

  8. 使用Xpath爬取校花网,致敬10年前的校花『和』我们逝去的青春

    使用xpath爬取校花网 难点: 1.各个分类栏目下的页码url不统一 2.只取前三页,或者后三页 文章代码仅使用xpath和requests,本来想用scrapy框架的,但是偷了个懒. 所以就-哈哈 ...

  9. 03_使用scrapy框架爬取豆瓣电影TOP250

    前言: 本次项目是使用scrapy框架,爬取豆瓣电影TOP250的相关信息.其中涉及到代理IP,随机UA代理,最后将得到的数据保存到mongoDB中.本次爬取的内容实则不难.主要是熟悉scrapy相关 ...

最新文章

  1. mysql建立pdm模型_如何使用PowerDesigner创建物理数据模型(PDM)
  2. GitHub从入门到精通
  3. linux 搭建jenkins
  4. 如何迁移开源 Flink 任务到实时计算Flink版?实战手册来帮忙!
  5. HDFS balancer 异常处理
  6. MVC:感觉用户认证标识(IsAuthenticated)有点延时。
  7. 虚拟网络VDC与VPC
  8. 免装版_一款好用的便签工具 桌面便签免安装版
  9. scala.的Enumeration枚举示例(转)
  10. git 如何忽略掉指定目录
  11. 职业计算机试题,职业高中计算机专业综合练习试题一
  12. 论文的中期检查表应该怎么写?
  13. python使用大数据分析师工资待遇_2020年大数据分析师工资多少
  14. “不能初始化photoshop,因为暂存盘已满”图文解决方案
  15. 深度学习系列文章之一:电脑配置选择
  16. 配对t检验的应用条件是什么_配对t检验的适用条件,独立样本T检验、配对T检...
  17. CSS(Emmet语法、复合选择器、元素显示模式、背景)
  18. 书店图书销售管理系统SSM
  19. Nexus私服 (一)
  20. 【光耦 Normalized...和 CTR 测试条件及测试曲线 解读 : PC817和LTV-1007-TP1-G】

热门文章

  1. Jetson Xavier NX使用yolov5+deepsort实现CSI摄像头的目标跟踪
  2. SpringCloud Stream+RabbitMQ自定义通道
  3. 山东计算机单招考哪些科目,单招考什么内容 单招一般考什么科目
  4. Android下拉列表显示
  5. C# Microsoft.Office.Interop.Word设置Word页脚之添加当前页数
  6. 一文理顺离散信号的傅里叶变换
  7. vsjitdebugger.exe 进程解决方法
  8. linux分区管理,Linux下磁盘分区管理
  9. 【NOIP2016】bzoj4719 天天爱跑步
  10. 一步一步实现中后台管理平台模板-08-登录页和用户信息保存