Python爬虫框架Scrapy学习笔记
scrapy.png
本文主要内容针对Scrapy有初步了解的同学。结合作者的实际项目中遇到的一些问题,汇成本文。
之后会写一些具体的爬虫demo, 放到 https://github.com/hanguangchao/scrapy_awesome
鉴于作者接触爬虫不久,水平有限,文章难免出现纰漏,还请各位达人留言指导。
内容提要
Scrapy问题记录
Scrapy问题示例代码
Scrapy常用代码片段
Scrapy常用设置
Scrapy参考资料
安装
使用
- 创建一个爬虫项目
- scrapy shell 工具
可以利用scrapy shell 分析网页
通过sel.xpath() 返回一个Selector, 可以判断页面结构是否存在。
使用中遇到的一些问题
- 一个爬虫项目中,是否支持多个Item?
- 在一个页面抓取多个Item?不同的Item如何存储?
- 爬虫进入下一级网页?
- 在爬虫中携带自定义数据?
- 重复抓取一个页面的方法?
- 分别指定每个爬虫的设置?
- 防止爬虫被ban?
针对以上问题,下面给出具体的代码示例
- 定义可以定义多个Item
- 具体的爬虫脚本
- 接第一个问题,多个Item,如何存储?
- Spider 自定义设置
使用custom_settings 该设置是一个dict.当启动spider时,该设置将会覆盖项目级的设置. 由于设置必须在初始化(instantiation)前被更新,所以该属性 必须定义为class属性
防止爬虫被ban
- 使用user agent池
- 使用IP池
- 禁止Cookie
- 增加下载延迟
- 分布式爬虫
- 一些常见设置
常用的Middleware
- 使用代理IP
- 随机Agent
- 使用PhantomJS 抓取JS网页
常用的Pipeline
过滤重复的Item
把Item存储到MySQL的Pipeline
把Item保存到JSON文件
Python爬虫框架Scrapy学习笔记相关推荐
- Python爬虫框架Scrapy学习笔记原创
字号 scrapy [TOC] 开始 scrapy安装 首先手动安装windows版本的Twisted https://www.lfd.uci.edu/~gohlke/pythonlibs/#twis ...
- Python爬虫框架Scrapy 学习笔记 6 ------- 基本命令
1. 有些scrapy命令,只有在scrapy project根目录下才available,比如crawl命令 2 . scrapy genspider taobao http://detail.tm ...
- Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息
1. 任务描述 目标网站:http://www.mininova.org/yesterday/ 目标网站截图: ------------------------------------- 可以看到种子 ...
- python数据分析案例2-1:Python练习-Python爬虫框架Scrapy入门与实践
本文建立在学习完大壮老师视频Python最火爬虫框架Scrapy入门与实践,自己一步一步操作后做一个记录(建议跟我一样的新手都一步一步进行操作). 主要介绍: 1.scrapy框架简介.数据在框架内如 ...
- python常用命令汇总-Python爬虫框架Scrapy常用命令总结
本文实例讲述了Python爬虫框架Scrapy常用命令.分享给大家供大家参考,具体如下: 在Scrapy中,工具命令分为两种,一种为全局命令,一种为项目命令. 全局命令不需要依靠Scrapy项目就可以 ...
- 精通python爬虫框架-精通Python爬虫框架Scrapy.pdf
作 者 :(美)迪米特里奥斯·考奇斯·劳卡斯(Dimitrios Kouzis Loukas)著:李斌译 出版发行 : 北京:人民邮电出版社 , 2018.02 ISBN号 :978-7-115-47 ...
- 阅读《精通Python爬虫框架Scrapy》
精通Python爬虫框架Scrapy 精通Python爬虫框架Scrapy 2018年2月的书,居然代码用的是Python2 环境使用的是Vagrant,但是由于国内网络的问题,安装的太慢了. 书里内 ...
- Python爬虫框架scrapy的用途及组件认识
Python爬虫框架scrapy的用途及组件认识 今天简述一下Scrapy框架的大致处理流程,以方便大家更好的理解Scrapy的运行过程. Scrapy是一个快速.高层次屏幕抓取和web抓取pytho ...
- 用 Python 爬虫框架 Scrapy 爬取心目中的女神
From :http://www.cnblogs.com/wanghzh/p/5824181.html 本博文将带领你从入门到精通爬虫框架 Scrapy,最终具备爬取任何网页的数据的能力. 本文以校花 ...
最新文章
- Jmeter对服务器的压测
- Python 开发桌面小工具,让代码替我们干重复的工作!
- SQLite剖析之异步IO模式、共享缓存模式和解锁通知
- js字符串replace替换多个_汇总几大python常见字符串处理函数与用法(建议收藏)...
- 大数据_Flink_Java版_数据处理_流处理API_Transform(5)_connect合流---Flink工作笔记0033
- 小程序能打开html页面,小程序新功能直接打开网页
- Intergate flot with Angular js ——Angular 图形报表
- 随机数生成器(RNG, random number generator)
- 苹果电脑QQ邮件服务器,mac电脑如何添加qq邮箱图文教程
- linux ppm转jpg_python将.ppm格式图片转换成.jpg格式文件的方法
- 静图怎样合成gif动图?仅需三步在线制作GIF动图
- 生物在计算机应用,生物技术在计算机领域中的应用有哪些
- fiddler抓取谷歌浏览器的包_fiddler抓不到chrome浏览器的请求
- 常规诊疗条件下比较依那西普生物类似药(益赛普)与阿达木、英夫利西对RA的疗效[EULAR2015_SAT0360]...
- LabVIEW热敏电阻温度计程序
- 新手必看,关于ARM的22个常用概念
- 雷达系列论文翻译(四):LeGO-LOAM
- vue 微信授权解决方案
- 如何提取指定文件夹下的文件名
- 一键虚拟机关机/重启---远离重复---Shell小脚本