零基础scrapy项目结构简介-python批量获取百度图片到本地

scrapy 批量获取百度图片到本地

本篇主要分享如何通过scrapy框架根据关键字获取到百度图片所展示的所有图片

scrapy创建一个新项目

1. 安装scrapy

配置合适的python环境,本篇主要用到Anaconda环境,Anaconda下载地址:
官方下载
清华镜像
安装scrapy:conda install scrapy 或者 pip3 install scrapy 或者 pip install scrapy,注意pippip3的区别

2. 创建scrapy新项目

配置好scrapy环境后,可用scrapy支持的命令创建一个scrapy项目:scrapy startproject baidu_crawler
此时在当前目录下会自动创建一个名为baidu_crawler的文件夹,下面是我的文件目录:
scrapy新项目的目录

然后到baid_crawler目录下,创建一个爬虫服务:scrapy genspider image_spider image.baidu.com
可以看到spiders目录下创建了image_spider.py文件,且代码中已有初始的配置
image_spider.py文件初始代码
其中 name是爬虫服务的名称,scrapy引擎主要通过服务名对爬虫服务进行控制,allowed_domains是本服务需要访问的域名,start_urls是爬虫服务将会进行抓取的网页链接(百度图片这个链接可以再修改,下面再讲)

3. scrapy项目结构

下面介绍下每个文件的功能:
![scrapy爬虫框架的主要项目结构](https://img-blog.csdnimg.cn/20200827134827659.png#pic_center)
文件名 主要功能
scrapy.cfg 整个项目的配置文件
settings.py 爬虫服务的配置文件,主要可以调整并发度、管理中间件优先级、pipeline优先级
image_spider.py 爬取任务的主要文件,发出请求和对响应结果进行解析等任务在此完成
items.py 定义所需数据项,数据项主要用于组件之间的数据传递,例如从spider到pipeline之间的数据传递
pipelines.py 对获取到的数据进行操作,例如存储到数据库、图片下载等操作都可以在此完成
middlewares.py 项目中间件文件,主要可以用来配置用户代理、定义代理等等

批量获取百度图片

1.分析目标URL

在 image_spider.py中定义请求,上面提到start_urls是爬虫服务将会进行抓取的网页链接

如果直接使用http://image.baidu.com/,则返回的响应结果为HTML,并且因为百度图片是滑动动态刷新的,所以只通过发送该请求可能无法获取到所有的百度图片。

有多种方式可以获取到百度图片:
1.构造请求获取到HTML,解析HTML来获取图片,主要可用BeautifulSoup来解析HTML来获取图片信息
2.构造请求获取到JSON格式的响应结果,直接解析JSON来获得图片信息

下面是一种根据关键字获取百度图片的URL形式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值