scrapy--Beautyleg
很早就开始关注: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相关推荐
- Python 爬虫框架Scrapy安装汇总
传统方式安装Scrapy(慎用) 练习了基本的操作之后,当然就要找框架来进行爬虫实验啊.于是就在网上找Windows 64安装Scrapy的方法,查到的都是非常繁琐的安装方式,由于Scrapy有很多个 ...
- Python:爬虫框架Scrapy的安装与基本使用
一.简单实例,了解基本. 1.安装Scrapy框架 这里如果直接pip3 install scrapy可能会出错. 所以你可以先安装lxml:pip3 install lxml(已安装请忽略). 安装 ...
- Python:Scrapy实战项目手机App抓包爬虫
1. items.py class DouyuspiderItem(scrapy.Item):name = scrapy.Field()# 存储照片的名字imagesUrls = scrapy.Fie ...
- Python:Scrapy的settings
Settings Scrapy设置(settings)提供了定制Scrapy组件的方法.可以控制包括核心(core),插件(extension),pipeline及spider组件.比如 设置Json ...
- Python:Scrapy Shell
Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据. 如果安装了 IPyth ...
- Python:Scrapy的安装和入门案例
Scrapy的安装介绍 Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy中文维护站点:http://scrapy-chs.readthedocs. ...
- Python:Scrapy 框架简单介绍
Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...
- python爬虫之Scrapy框架的post请求和核心组件的工作 流程
python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...
- 『Scrapy』爬虫框架入门
框架结构 引擎:处于中央位置协调工作的模块 spiders:生成需求url直接处理响应的单元 调度器:生成url队列(包括去重等) 下载器:直接和互联网打交道的单元 管道:持久化存储的单元 框架安装 ...
- python3 scrapy中文文档_Scrapy官方文档笔记
1.创建Scrapy项目 首先用cmd命令行去操作,输入 scrapy startproject 项目名 #这里输入的项目名,就是在你输入的目录它会建立一个新的文件夹,这个文件夹里面还是同样名字的一个 ...
最新文章
- WPF:跨应用程序会话保持和还原应用程序范围的属性
- 恶意软件 自动化规则提取工具 yargen 原理分析
- unicode字符串操作函数 vc
- 【Python学习系列二十六】networkx库图最短路径求解
- S3c2410_SDIO_调试笔记二
- CDH6.3.2 HUE集成HBase
- 深入浅出之string
- 将fork出来的分支与原项目合并
- accdb原有的数据怎么清除_VBA中利用数组对数据批量处理的方法
- Python PIP Mysql-python 报错 ERROR: Command errored out with exit status 1: python setup.py egg_info C
- 时间和日期的JS库Day.js入门教程
- 电脑用电量_为什么换了智能电表后,我家用电量一下子多了这么多呢?
- 如何破解无线网络密码(无线网络密码破解)
- 人工智能与安全论坛:智能与安全的融合与对抗
- 液晶电视测试软件u盘,突破封锁!用U盘给电视安装APP居然这么简单
- 怎样合并磁盘分区?看这里~
- Cocos Creator:高效率内容生产,引领全平台制霸!
- ubuntu 14.04版本更改文件夹背景色为草绿色
- 动漫主题的聊天室(html+css+js)(聊天室下篇)
- [导入]转帖------牛逼顿
热门文章
- 敏捷开发模式下如何用 PingCode 这类工具进行版本发布管理
- TC+Iptables+htb
- python3 模块大全_Python3 模块 | 菜鸟教程
- Java中Person类型赋值_Java设计:定义一个Person类和它的子类Employee。Person类有姓名、地址、电话号码和电子邮箱,...
- Linux 将文件移动到指定文件夹中
- 密码字典大全(seclists)
- Hash Function 2021牛客暑期多校训练营1 数论 + NTT
- ElasticSearch(全文检索服务的安装和使用)
- getchar和putchar函数详解
- 选修课《创新创业执行力》第一次课有感