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学习笔记相关推荐

  1. Python爬虫框架Scrapy学习笔记原创

    字号 scrapy [TOC] 开始 scrapy安装 首先手动安装windows版本的Twisted https://www.lfd.uci.edu/~gohlke/pythonlibs/#twis ...

  2. Python爬虫框架Scrapy 学习笔记 6 ------- 基本命令

    1. 有些scrapy命令,只有在scrapy project根目录下才available,比如crawl命令 2 . scrapy genspider taobao http://detail.tm ...

  3. Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息

    1. 任务描述 目标网站:http://www.mininova.org/yesterday/ 目标网站截图: ------------------------------------- 可以看到种子 ...

  4. python数据分析案例2-1:Python练习-Python爬虫框架Scrapy入门与实践

    本文建立在学习完大壮老师视频Python最火爬虫框架Scrapy入门与实践,自己一步一步操作后做一个记录(建议跟我一样的新手都一步一步进行操作). 主要介绍: 1.scrapy框架简介.数据在框架内如 ...

  5. python常用命令汇总-Python爬虫框架Scrapy常用命令总结

    本文实例讲述了Python爬虫框架Scrapy常用命令.分享给大家供大家参考,具体如下: 在Scrapy中,工具命令分为两种,一种为全局命令,一种为项目命令. 全局命令不需要依靠Scrapy项目就可以 ...

  6. 精通python爬虫框架-精通Python爬虫框架Scrapy.pdf

    作 者 :(美)迪米特里奥斯·考奇斯·劳卡斯(Dimitrios Kouzis Loukas)著:李斌译 出版发行 : 北京:人民邮电出版社 , 2018.02 ISBN号 :978-7-115-47 ...

  7. 阅读《精通Python爬虫框架Scrapy》

    精通Python爬虫框架Scrapy 精通Python爬虫框架Scrapy 2018年2月的书,居然代码用的是Python2 环境使用的是Vagrant,但是由于国内网络的问题,安装的太慢了. 书里内 ...

  8. Python爬虫框架scrapy的用途及组件认识

    Python爬虫框架scrapy的用途及组件认识 今天简述一下Scrapy框架的大致处理流程,以方便大家更好的理解Scrapy的运行过程. Scrapy是一个快速.高层次屏幕抓取和web抓取pytho ...

  9. 用 Python 爬虫框架 Scrapy 爬取心目中的女神

    From :http://www.cnblogs.com/wanghzh/p/5824181.html 本博文将带领你从入门到精通爬虫框架 Scrapy,最终具备爬取任何网页的数据的能力. 本文以校花 ...

最新文章

  1. Jmeter对服务器的压测
  2. Python 开发桌面小工具,让代码替我们干重复的工作!
  3. SQLite剖析之异步IO模式、共享缓存模式和解锁通知
  4. js字符串replace替换多个_汇总几大python常见字符串处理函数与用法(建议收藏)...
  5. 大数据_Flink_Java版_数据处理_流处理API_Transform(5)_connect合流---Flink工作笔记0033
  6. 小程序能打开html页面,小程序新功能直接打开网页
  7. Intergate flot with Angular js ——Angular 图形报表
  8. 随机数生成器(RNG, random number generator)
  9. 苹果电脑QQ邮件服务器,mac电脑如何添加qq邮箱图文教程
  10. linux ppm转jpg_python将.ppm格式图片转换成.jpg格式文件的方法
  11. 静图怎样合成gif动图?仅需三步在线制作GIF动图
  12. 生物在计算机应用,生物技术在计算机领域中的应用有哪些
  13. fiddler抓取谷歌浏览器的包_fiddler抓不到chrome浏览器的请求
  14. 常规诊疗条件下比较依那西普生物类似药(益赛普)与阿达木、英夫利西对RA的疗效[EULAR2015_SAT0360]...
  15. LabVIEW热敏电阻温度计程序
  16. 新手必看,关于ARM的22个常用概念
  17. 雷达系列论文翻译(四):LeGO-LOAM
  18. vue 微信授权解决方案
  19. 如何提取指定文件夹下的文件名
  20. 一键虚拟机关机/重启---远离重复---Shell小脚本

热门文章

  1. 说话夹杂English的人:我不是要装X,只是Brain功能太强
  2. 华为正式发布鸿蒙2.0,更新人数太多挤爆服务器,P50也官宣了!
  3. 《最受欢迎的女友职业排行榜 Top10》
  4. 字节跳动面试官:你离50w年薪就差答对了这个算法题!
  5. 无需代码即可看视频造游戏!英伟达再现神操作!
  6. Github中文项目排行榜,你永远想不到开发者都用它干了什么
  7. 【每日一算法】种花问题
  8. readelf小尝试
  9. 漫话:如何给女朋友解释为什么Windows上面的软件都想把自己安装在C盘
  10. 【从零学习OpenCV 4】Mat类构造与赋值