一 引言

日前,自己因项目需要需要爬取淘宝排行榜,而淘宝因为用了很多的AJAX技术,不能用普通的爬虫爬取,于是我这里就想用如一些集成了PhantomJS或类似的python爬虫框架。一开始自己尝试了pyspider,但是自己对pysider并不是很熟练,而且网上这方面资料也很少,于是弃坑转为自己较为熟悉的scrapy框架。经过一番搜索,在Github发现了这个,scrapy-splash,由scrapy框架开发者维护,可以作为scrapy的中间件使用,从而提供对AJAX页面的JS解析。

二 安装

这里不详细说明scrapy和scrapy-splash的安装过程,可参考下面给出的官方链接

scrapy框架的安装

scrapy框架安装

scrapy-splash安装

scrapy-splash安装

三 使用scrapy-splash

1.要使用scrapy-splash,可以参考官方的文档
也参考我下面的方法(不过,我这里这是很简单的使用了scrapy-splash,并没有用到其他功能。如果自己还要更高阶的需求,如使用redis作为消息队列等,就必须要继承scrapy_splash.SplashAwareFSCacheStorage,并且对url判断使用splash自己的fingerprint scrapy_splash.splash_request_fingerprint) 所以更高阶的用法还请参考官方文档
2.配置:


1.设置下载中间件:

DOWNLOADER_MIDDLEWARES = {'scrapy_splash.SplashCookiesMiddleware': 723,'scrapy_splash.SplashMiddleware': 725,'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}

2.设置爬虫中间件

SPIDER_MIDDLEWARES = {'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}

3.使用splash解析,要在配置文件中设置:

SPLASH_URL = 'http://127.0.0.1:8050/'

4.配置消息队列所使用的过滤类

DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'

5.配置消息队列需要使用的类

HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'

完整的配置文件可以参考这里:
淘宝爬虫的配置文件

接下来正式爬取工作请参考下一篇博文:
Scrapy-Splash爬取淘宝排行榜(二)

Scrapy-Splash爬取淘宝排行榜(一)相关推荐

  1. Scrapy-Splash爬取淘宝排行榜(二)

    四 开始爬取 1.首先分析淘宝排行榜的设置.在这里,商品被分为服饰,数码家电,化妆品,母婴,食品,文体,家具,车|玩具|宠物.而点开每个大类,又可以看到商品被分为很多小类.点开任意小类,往下拉就可以看 ...

  2. python+scrapy简单爬取淘宝商品信息

    python结合scrapy爬取淘宝商品信息 一.功能说明: 已实现功能: 通过scrapy接入selenium获取淘宝关键字搜索内容下的商品信息. 待扩展功能: 爬取商品中的全部其他商品信息. 二. ...

  3. Scrapy-Splash爬取淘宝排行榜(三)

    五 写spider 1.知道了要爬取的内容,所以,我们首先在start_urls中设置如下: start_urls=['https://top.taobao.com/index.php?topId=T ...

  4. 爬虫案例 --- Python 爬取淘宝数据存到数据库

    可以做爬虫的语言有很多,如 PHP.Java.C/C++.Python等等... 1)PHP语言 虽然是世界上最好的语言,但是他天生不是干这个的,而且对多线程.异步支持不够好,并发处理能力很弱.爬虫是 ...

  5. Python爬虫学习之爬取淘宝搜索图片

    Python爬虫学习之爬取淘宝搜索图片 准备工作 因为淘宝的反爬机制导致Scrapy不能使用,所以我这里是使用selenium来获取网页信息,并且通过lxml框架来提取信息. selenium.lxm ...

  6. python爬虫学习(三):使用re库爬取淘宝商品,并把结果写进txt文件

    第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字"python",然后搜索,显示如下搜索结果 从url连接中可以得 ...

  7. [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品

    在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...

  8. 利用Selenium爬取淘宝商品信息

    文章来源:公众号-智能化IT系统. 一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样. ...

  9. 爬取淘宝定价需要多久时间_如何对设计工作进行定价—停止收​​取时间并专注于价值

    爬取淘宝定价需要多久时间 Pricing creative work is a new concept for most freelancers who are starting their busi ...

最新文章

  1. APK在AndroidManifest.xml常用权限总结
  2. 以python入门教程新世界-50⾏python爬⾍代码, 带你正确打开知乎新世界!
  3. 【bzoj1965】 [Ahoi2005]SHUFFLE 洗牌 欧拉定理
  4. HDOJ acm steps 3.1.1
  5. python math.asin
  6. Macbook pro笔记本键盘失灵了(u,i,o,j,k,l,k,m无效了)解决办法
  7. 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
  8. IEEE 回应禁止华为系审稿人;Wi-Fi 联盟等恢复华为成员资格;Angular 8 正式发布 | 极客头条...
  9. 李飞飞创建的AI4All启动首次mentorship计划
  10. 华为模拟器ensp与真实机器连接使用的配置内容二
  11. 高程数据的下载以及运用高程数据进行坡度和坡向的计算
  12. 最好用的100个黑科技网站
  13. 在线作图丨数据降维分析④——NMDS分析
  14. 2020蚂蚁森林自动收能量-保持更新
  15. LeetCode——反转链表
  16. 在PS中如何旋转箭头
  17. mysql数据库安全加固_数据库安全加固系统
  18. JVM性能调优5_编写高效优雅Java程序__享学课堂
  19. 汽车维修管理系统(RPMS)项目
  20. 0511 backlog

热门文章

  1. python语言描述兰伯特pdf_数据结构PYTHON语言描述 [美] Kenneth A. Lambert 兰伯特
  2. 2020排名前十的超级计算机,2020中国高性能计算机TOP100榜单揭晓
  3. 关于前端的一些学习记录(1)
  4. 计算机网络总结(1)
  5. 计算机网络管理技术参考文献,报文网络论文,关于计算机网络管理相关技术相关参考文献资料-免费论文范文...
  6. Jenkins内存占用过高的问题
  7. elasticsearch 关键词查询-实现like查询
  8. linux合并pdf命令,科学网—[转载]linux下利用命令行工具pdftk对PDF进行合并分割(转载) - 崔鹏碧的博文...
  9. 2022电动两轮市场格局分化,九号异军突起
  10. 你执手嫣然入了画幕,我漠然割舍断了归途