【Python】妹子图图片全站抓取
来源:互联网 发布:cmd telnet 端口号 编辑:程序博客网 时间:2024/06/10 21:12
环境
- python3.5
- scrapy1.4.0
代码
- items.py
# -*- coding: utf-8 -*-import scrapyclass MeiziSpiderItem(scrapy.Item): image_url = scrapy.Field() # 存放图片真实的URL refer_url = scrapy.Field() # 存放图片下载时对应的请求Refer
- spiders/meizi.py
# -*- coding: utf-8 -*-from scrapy.spider import CrawlSpider, Rulefrom scrapy.linkextractors import LinkExtractorfrom MeiziSpider.items import MeiziSpiderItemclass MeiziSpider(CrawlSpider): name = 'meizi' allowed_domains = ['www.mzitu.com'] start_urls = ['http://www.mzitu.com/'] rules = ( Rule(LinkExtractor(allow=('http://www.mzitu.com/\d{1,6}',)), callback='parse_item', follow=True), Rule(LinkExtractor(allow=('http://www.mzitu.com/\d{1,6}/\d{1,3}',)), callback='parse_item', follow=True), ) def parse_item(self, response): img_item = MeiziSpiderItem() img_item['image_url'] = response.css(".main-image p a img::attr(src)").extract() img_item['refer_url'] = response.url yield img_item
- pipelines.py
# -*- coding: utf-8 -*-from scrapy.contrib.pipeline.images import ImagesPipelinefrom scrapy.http import Requestclass MyImagesPipeline(ImagesPipeline): def get_media_requests(self, item, info): for image_url in item['image_url']: default_headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36', 'referer': '{}'.format(item['refer_url']) } yield Request(image_url, headers=default_headers) def item_completed(self, results, item, info): return item
- settings.py
...ROBOTSTXT_OBEY = FalseITEM_PIPELINES = { 'MeiziSpider.pipelines.MyImagesPipeline': 5,}IMAGES_URLS_FIELD ="image_url" #image_url是在items.py中配置的网络爬取得图片地址#配置保存本地的地址project_dir = os.path.abspath(os.path.dirname(__file__)) #获取当前爬虫项目的绝对路径IMAGES_STORE = os.path.join(project_dir, 'images') #组装新的图片路径...
效果
- 共抓取到3G多的图片,花费1.5小时
阅读全文
0 0
- 【Python】妹子图图片全站抓取
- Python爬虫---------------<妹子图>图片抓取(1)
- Python抓取妹子图网站全部图片
- Python抓取妹子图
- Python网络爬虫(4)煎蛋网妹子图片抓取
- 抓取妹子图
- Python零基础入门二十二之抓取妹子图
- Java版抓取网站妹子图片
- Python Show-Me-the-Code 第 0013 题 抓取妹子图片 使用scrapy
- Python3抓取煎蛋妹子图
- python 爬虫 实战 抓取妹子图中图
- 使用Python自动下载妹子图的图片到本地
- 用Python爬虫抓取煎蛋(jandan.net)无聊图和妹子图
- Jsoup使用~抓取豆瓣妹子图
- python 从姐脱吧下载妹子图片
- python爬取妹子图片1
- python爬取妹子图片2
- Python爬取妹子网图片
- Android 中 Activity的跳转
- Windows任务栏遮挡
- 2017.10.12 第三天总结
- 5.2探究执行器(Executors)
- Flex学习之路之二十四 Spark ButtonBar 和 TabBar的使用
- 【Python】妹子图图片全站抓取
- 内部寄存器知识总结(上)
- Lua学习笔记9-函数知识总结
- html之页面登录
- 几张图解释mvc,mvp和mvvm的区别
- Python 进程,子进程( os.fork() )
- HDU4547 CD操作(tarjan算法 离线LCA)
- 封装一个方法实现js内置对象array的indexOf()方法
- 我与地坛-史铁生