很早就开始关注:Beautyleg 高清丝袜美腿.关注之后开始觉得打开了新世界的大门,如果有相同观点的,那么你很有品味.说真的,学习爬虫的动力之一就是想把里面的图片爬取下来。哈哈哈!!!

给大家放点爬取完的图片,激励下大家赶紧动手。嘿嘿嘿

1.Beauty.py

# -*- coding: utf-8 -*-
import scrapy
from scrapy.pipelines.images import ImagesPipeline
from scrapy.linkextractors import LinkExtractor
from beauty.items import BeautyItem
import pdbclass BeautySpider(scrapy.Spider):name = 'Beauty'allowed_domains = ['www.beautylegmm.com']start_urls = ['http://www.beautylegmm.com/']def parse(self, response):le = LinkExtractor(restrict_css='div.post_weidaopic')#pdb.set_trace()for link in le.extract_links(response):yield scrapy.Request(link.url,callback=self.parse_url)le2 = LinkExtractor(restrict_css='ol.page-navigator')for link2 in le2.extract_links(response):yield scrapy.Request(link2.url,callback=self.parse)
def parse_url(self,response):photo = BeautyItem()if response.css('div.post a::attr(href)'):for href in response.css('div.post a::attr(href)')[:4]:     #<a href=''>有很多,就只有前4个是图片地址,取前4个连接就够了.没有域名:<a href="/photo/beautyleg/2018/1630/beautyleg-1630-0001.jpg">full_url  = response.urljoin(href.extract())         #使用response.urljoin(),整合src,获得图片的绝对路径:http://www.beautylegmm.com/photo/beautyleg/2018/1630/beautyleg-1630-0001.jpgphoto['images_url'] = full_urlyield photo
le1 = LinkExtractor(restrict_css='div.grid_10 div.post')       #获取页数:<a href="http://www.beautylegmm.com/Rubis/beautyleg-1630.html?page=1" >for link1 in le1.extract_links(response):#pdb.set_trace()yield scrapy.Request(link1.url,callback=self.parse_url)

2.items.py

import scrapyclass BeautyItem(scrapy.Item):images_url = scrapy.Field()images     = scrapy.Field()

3.pipelines.py

import scrapy
from scrapy.exceptions import DropItem
from scrapy.pipelines.images import ImagesPipeline
import pdbclass BeautyPipeline(ImagesPipeline):def get_media_requests(self,item,info):yield scrapy.Request(item['images_url'])def item_completed(self,results,item,info):images_path = [x['path'] for ok,x in results if ok]if not images_path:raise DropItem ('item contain no images')return item

4.settings.py

USER_AGENT ={       #设置浏览器的User_agent"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1","Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5","Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
}CONCURRENT_REQUESTS = 16    #同时来16个请求
DOWNLOAD_DELAY = 0.2        #0.2s后开启处理第一个请求
ROBOTSTXT_OBEY = FalseLOAD_TRUNCATED_IMAGES = TrueCOOKIES_ENABLED = FalseITEM_PIPELINES = {'beauty.pipelines.BeautyPipeline': 1,
}

好了,有感兴趣的小伙伴,遇到什么问题可以来咨询我!!!

转载于:https://www.cnblogs.com/eilinge/p/9401646.html

scrapy--Beautyleg相关推荐

  1. Python 爬虫框架Scrapy安装汇总

    传统方式安装Scrapy(慎用) 练习了基本的操作之后,当然就要找框架来进行爬虫实验啊.于是就在网上找Windows 64安装Scrapy的方法,查到的都是非常繁琐的安装方式,由于Scrapy有很多个 ...

  2. Python:爬虫框架Scrapy的安装与基本使用

    一.简单实例,了解基本. 1.安装Scrapy框架 这里如果直接pip3 install scrapy可能会出错. 所以你可以先安装lxml:pip3 install lxml(已安装请忽略). 安装 ...

  3. Python:Scrapy实战项目手机App抓包爬虫

    1. items.py class DouyuspiderItem(scrapy.Item):name = scrapy.Field()# 存储照片的名字imagesUrls = scrapy.Fie ...

  4. Python:Scrapy的settings

    Settings Scrapy设置(settings)提供了定制Scrapy组件的方法.可以控制包括核心(core),插件(extension),pipeline及spider组件.比如 设置Json ...

  5. Python:Scrapy Shell

    Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据. 如果安装了 IPyth ...

  6. Python:Scrapy的安装和入门案例

    Scrapy的安装介绍 Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy中文维护站点:http://scrapy-chs.readthedocs. ...

  7. Python:Scrapy 框架简单介绍

    Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...

  8. python爬虫之Scrapy框架的post请求和核心组件的工作 流程

    python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...

  9. 『Scrapy』爬虫框架入门

    框架结构 引擎:处于中央位置协调工作的模块 spiders:生成需求url直接处理响应的单元 调度器:生成url队列(包括去重等) 下载器:直接和互联网打交道的单元 管道:持久化存储的单元 框架安装 ...

  10. python3 scrapy中文文档_Scrapy官方文档笔记

    1.创建Scrapy项目 首先用cmd命令行去操作,输入 scrapy startproject 项目名 #这里输入的项目名,就是在你输入的目录它会建立一个新的文件夹,这个文件夹里面还是同样名字的一个 ...

最新文章

  1. WPF:跨应用程序会话保持和还原应用程序范围的属性
  2. 恶意软件 自动化规则提取工具 yargen 原理分析
  3. unicode字符串操作函数 vc
  4. 【Python学习系列二十六】networkx库图最短路径求解
  5. S3c2410_SDIO_调试笔记二
  6. CDH6.3.2 HUE集成HBase
  7. 深入浅出之string
  8. 将fork出来的分支与原项目合并
  9. accdb原有的数据怎么清除_VBA中利用数组对数据批量处理的方法
  10. Python PIP Mysql-python 报错 ERROR: Command errored out with exit status 1: python setup.py egg_info C
  11. 时间和日期的JS库Day.js入门教程
  12. 电脑用电量_为什么换了智能电表后,我家用电量一下子多了这么多呢?
  13. 如何破解无线网络密码(无线网络密码破解)
  14. 人工智能与安全论坛:智能与安全的融合与对抗
  15. 液晶电视测试软件u盘,突破封锁!用U盘给电视安装APP居然这么简单
  16. 怎样合并磁盘分区?看这里~
  17. Cocos Creator:高效率内容生产,引领全平台制霸!
  18. ubuntu 14.04版本更改文件夹背景色为草绿色
  19. 动漫主题的聊天室(html+css+js)(聊天室下篇)
  20. [导入]转帖------牛逼顿

热门文章

  1. 敏捷开发模式下如何用 PingCode 这类工具进行版本发布管理
  2. TC+Iptables+htb
  3. python3 模块大全_Python3 模块 | 菜鸟教程
  4. Java中Person类型赋值_Java设计:定义一个Person类和它的子类Employee。Person类有姓名、地址、电话号码和电子邮箱,...
  5. Linux 将文件移动到指定文件夹中
  6. 密码字典大全(seclists)
  7. Hash Function 2021牛客暑期多校训练营1 数论 + NTT
  8. ElasticSearch(全文检索服务的安装和使用)
  9. getchar和putchar函数详解
  10. 选修课《创新创业执行力》第一次课有感