经验大分享:scrapy框架爬取糗妹妹网站qiumeimei.com图片

简介: 经验大分享:scrapy框架爬取糗妹妹网站qiumeimei.com图片

1. 创建项目

  scrapy startproject qiumeimei

2. 建蜘蛛文件qiumei.py

  cd qiumeimei

  scrapy genspider qiumei

3. 考虑到只需要下载图片,先在items.py定义字段

?123456import scrapy class QiumeimeiItem(scrapy.Item): # define the fields for your item here like: img_path = scrapy.Field() pass

4. 写蜘蛛文件qiumei.py

?12345678910111213141516171819202122# -- coding: utf-8 --import scrapy from qiumeimei.items import QiumeimeiItemclass QiumeiSpider(scrapy.Spider): name = 'qiumei' # allowed_domains = 【''】 start_urls = 【''】 def parse(self, response): img_url = response.css('.main>p>img::attr(data-lazy-src)').extract() # print(img_url) for url in img_url: # print(url) item = QiumeimeiItem() item【'img_path'】 = url yield item next_url = response.css('.pagination a.next::attr(href)').extract_first() if next_url: yield scrapy.Request(url=next_url,callback=self.parse)

5. 管道文件pipelines.py 这里图片是全部放在了一个文件夹里,在settings.py中定义了一个路径,见下文第6步:

?12345678910111213141516171819202122232425262728import os,scrapyfrom scrapy.pipelines.images import ImagesPipelinefrom qiumeimei.settings import IMAGES_STORE as images_storeclass QiumeimeiPipeline(ImagesPipeline): def get_media_requests(self, item, info): img_path = item【'img_path'】 # print(000) yield scrapy.Request(url=img_path) def item_completed(self, results, item, info): old_name_list = 【x【'path'】 for t, x in results】 old_name = images_store + old_name_list【0】 # print(111) #图片名称 from datetime import datetime i = str(datetime.now()) # print(222) img_path = item【'img_path'】 img_type = img_path.split('.')【-1】 img_name = i【:4】+i【5:7】+i【8:10】+i【11:13】+i【14:16】+i【17:19】+i【20:】 #图片路径 所有图片放在一个文件夹里 # print(333) path = images_store + img_name +'.'+ img_type print(path+' 已下载...') os.rename(old_name,path) return item

6. 设置文件settings.py

?1234567891011USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'# Obey robots.txt rulesROBOTSTXT_OBEY = False #图片路径,会自动创建IMAGES_STORE = './images/' #开启管道ITEM_PIPELINES = { 'qiumeimei.pipelines.QiumeimeiPipeline': 300,}//代码效果参考:http://www.ezhiqi.com/bx/art_3651.html

  已成功:

相关文章
|
1月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
102 6
|
2月前
|
数据采集 中间件 开发者
Scrapy爬虫框架-自定义中间件
Scrapy爬虫框架-自定义中间件
58 1
|
2月前
|
数据采集 中间件 Python
Scrapy爬虫框架-通过Cookies模拟自动登录
Scrapy爬虫框架-通过Cookies模拟自动登录
109 0
|
1月前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
72 4
|
2月前
|
数据采集 中间件 数据挖掘
Scrapy 爬虫框架(一)
Scrapy 爬虫框架(一)
54 0
|
2月前
|
数据采集 XML 前端开发
Scrapy 爬虫框架(二)
Scrapy 爬虫框架(二)
50 0
|
4月前
|
数据采集 存储 XML
Scrapy框架实现数据采集的详细步骤
本文介绍了使用Scrapy框架从宁波大学经济学院网站爬取新闻或公告详情页内容的过程,包括创建Scrapy项目、编写爬虫规则、提取所需信息,并最终将数据存储到Excel文件中的方法和步骤。
Scrapy框架实现数据采集的详细步骤
|
4月前
|
数据采集 中间件 调度
Scrapy 爬虫框架的基本使用
Scrapy 爬虫框架的基本使用
|
4月前
|
数据采集 存储 中间件
Python进行网络爬虫:Scrapy框架的实践
【8月更文挑战第17天】网络爬虫是自动化程序,用于从互联网收集信息。Python凭借其丰富的库和框架成为构建爬虫的首选语言。Scrapy作为一款流行的开源框架,简化了爬虫开发过程。本文介绍如何使用Python和Scrapy构建简单爬虫:首先安装Scrapy,接着创建新项目并定义爬虫,指定起始URL和解析逻辑。运行爬虫可将数据保存为JSON文件或存储到数据库。此外,Scrapy支持高级功能如中间件定制、分布式爬取、动态页面渲染等。在实践中需遵循最佳规范,如尊重robots.txt协议、合理设置爬取速度等。通过本文,读者将掌握Scrapy基础并了解如何高效地进行网络数据采集。
232 6
|
4月前
|
存储 中间件 数据处理
深入解读 Scrapy 框架原理与源码
深入解读 Scrapy 框架原理与源码
65 1