使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)
初学Scrapy,实现爬取网络图片并保存本地功能
一、先看最终效果
保存在F:\pics文件夹下
二、安装scrapy
1、python的安装就不说了,我用的python2.7,执行命令pip install scrapy,或者使用easy_install 命令都可以
2、可能会报如下错误
*********************************************************** Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed? ***********************************************************
- 1
- 2
- 3
- 1
- 2
- 3
解决方法:安装libxml2
下载对应的Python的版本,安装即可,网址:
https://pypi.python.org/pypi/lxml/3.4.4
三、创建项目
1、执行命令
scrapy startproject xiaohuar
- 1
- 1
会自动创建xiaohuar的scrapy项目
2、项目结构(我用的是WingIDE)
文件说明:
• scrapy.cfg 项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)
• items.py 设置数据存储模板,用于结构化数据,如:Django的Model
• pipelines 数据处理行为,如:一般结构化的数据持久化
• settings.py 配置文件,如:递归的层数、并发数,延迟下载等
• spiders 爬虫目录,如:创建文件,编写爬虫规则
四、编写爬虫程序
1、在spiders文件夹下创建.py文件
代码中注释已经很详细了,就不解释了,关于解析html内容,使用的是xpath,之前使用Java的webmagic 爬虫框架也是使用的此种方式,所示还是比较熟悉,一些插叙语法参考步骤2
2、xpath查询语法
查询标签中带有某个class属性的标签://div[@class=’c1’]即子子孙孙中标签是div且class=‘c1’的标签
• 查询标签中带有某个class=‘c1’并且自定义属性name=‘alex’的标签://div[@class=’c1’][@name=’alex’]
• 查询某个标签的文本内容://div/span/text() 即查询子子孙孙中div下面的span标签中的文本内容
• 查询某个属性的值(例如查询a标签的href属性)://a/@href
3、运行
进入到xiaohuar目录,执行
scrapy crawl xiaohuar
可能会报以下错误,原因是少win32api的模块
解决方法:
选择对应的版本下载安装即可地址:
http://sourceforge.net/projects/pywin32/files/
4、关于scrapy shell终端
可以使用scrapy shell进行调试,例如执行
scrapy shell http://www.xiaohuar.com/list-1-1.html
就可以查看得到的数据
5、最后的说明
程序执行过程中可以设置爬取的深度,我这里没有设置,可能关掉cmd程序还在执行,可以结束python的进程,或者设置爬取深度
五、总结
最近学习在python,实现非常简单的一个爬虫当做练习,中间一些模块的缺少错误,在网上查询还是费了很多的时间,有的回答是没有解决的,总之自己实践之后才会更加深刻。
使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)的更多相关文章
- Python使用Scrapy爬虫框架全站爬取图片并保存本地(妹子图)
大家可以在Github上clone全部源码. Github:https://github.com/williamzxl/Scrapy_CrawlMeiziTu Scrapy官方文档:http://sc ...
- windows下使用python的scrapy爬虫框架,爬取个人博客文章内容信息
scrapy作为流行的python爬虫框架,简单易用,这里简单介绍如何使用该爬虫框架爬取个人博客信息.关于python的安装和scrapy的安装配置请读者自行查阅相关资料,或者也可以关注我后续的内容. ...
- Scrapy爬虫框架之爬取校花网图片
Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设 ...
- scrapy爬虫系列之三--爬取图片保存到本地
功能点:如何爬取图片,并保存到本地 爬取网站:斗鱼主播 完整代码:https://files.cnblogs.com/files/bookwed/Douyu.zip 主要代码: douyu.py im ...
- python scrapy爬虫框架概念介绍(个人理解总结为一张图)
python的scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架 python和scrapy的安装就不介绍了,资料很多 这里我个人总结一下,能更加快理解scrapy和快速上手一个简 ...
- Python多线程Threading爬取图片,保存本地,openpyxl批量插入图片到Excel表中
之前用过openpyxl库保存数据到Excel文件写入不了,换用xlsxwriter 批量插入图片到Excel表中 1 import os 2 import requests 3 import re ...
- Python之Scrapy爬虫框架安装及简单使用
题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...
- scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250
scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250 前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大 ...
- scrapy爬虫框架教程(二)-- 爬取豆瓣电影
前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大家讲解一个完整爬虫的流程. 工具和环境 语言:python 2 ...
随机推荐
- FineUI参考手册(离线版)现已免费提供下载!
http://fineui.com/bbs/forum.php?mod=viewthread&tid=3473
- Oracle 常见错误排查
1. java.sql.SQLException: ORA-01000: 超出打开游标的最大数 step 1: 查看数据库当前的游标数配置slqplus:show parameter open_cur ...
- PRML读书会第十三章 Sequential Data(Hidden Markov Models,HMM)
主讲人 张巍 (新浪微博: @张巍_ISCAS) 软件所-张巍<zh3f@qq.com> 19:01:27 我们开始吧,十三章是关于序列数据,现实中很多数据是有前后关系的,例如语音或者DN ...
- CSS基本知识0-命名规范
CSS命名及规范是第一步: 总起:所有名字小写,样式名用-号连接,如.nav-left,CSS使用小写加连接,那么ID就使用大写不加连接,比如UserName,把它和编程的属性对应起来,那么方法就以小 ...
- 个人觉得目前 最好用的Taobao API的NodeJS封装
话说,Top API SDK默认只给了四种语言的SDK,没有我大NodeJS,这可怎么行,于是封装了一个. 参考地址 GitHub: https://github.com/xiaoppp/TopAPI ...
- arguments.callee 调用自身 caller,callee,apply and call
一.Arguments该对象代表正在执行的函数和调用他的函数的参数.[function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字.n :选项 ...
- PLSQL Developer不支持Oracle 64位客户端解决方法
问题描述: 在虚拟机同网段,搭建Oracle 11.2.04数据库64位的,本机操作系统Win10 x64和PLSQL 9.03,目前想利用PLSQL远程登录ORACLE数据库操作.当初用 insta ...
- ubuntu下nginx的启停等常用命令
开发过程中,我们会经常的修改nginx的配置文件,每次修改配置文件都可以先测试下本次修改的配置文件是否正确,可以利用以下命令: ? 1 service nginx -t -c /alidata/ser ...
- [转]响应式WEB设计学习(3)—如何改善移动设备网页的性能
原文地址:http://www.jb51.net/web/70362.html 前言 移动设备由于受到带宽.处理器运算速度的限制,因而对网页的性能有更高的要求.究竟是网页中的何种元素拉低了网页在移动设 ...
- 【SPOJ 694】Distinct Substrings 不相同的子串的个数
不会FQ啊,没法评测啊,先存一下代码QAQ 2016-06-16神犇Menci帮我测过AC了,谢谢神犇Menci QwQ #include<cstdio> #include<cstr ...