go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

利用splash爬取京东商品信息

一、环境

window7

python3.5

pycharm

scrapy

scrapy-splash

MySQL

二、简介

为了体验scrapy-splash 的动态网页渲染效果,特地编写了利用splash爬取京东商品信息的爬虫,当然站在爬取效率和稳定性方面来说,动态网页爬取首先应该考虑的还是动态页面逆向分析。

三、环境搭建

这里只介绍splash在window7上的搭建方法:

Splash是一个利用webkit或者基于webkit库 Javascript渲染服务。它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT。官方文档解释是必须使用Docker容器!之所以用容器技术,好处是你可以一坨的安装好splash,而不必一点一点的去为安装splash填坑。

在网上的教程中,大多数是建议利用linux来安装docker,原因如下图:

docker使用go语言开发,并且运行在linux系统下,而如果想用window运行,只能在window基础上先运行一个linux虚拟机,然后再在这个linux虚拟机下运行docker。

由于我使用的是window7系统,只能到官网(https://docs.docker.com/toolbox/toolbox_install_windows/)下载DockerToolbox,下载完成后,双击安装(安装过程自行百度);

安装完成后会有三个快捷键:

    点击启动Docker Quickstart Terminal

输入安装splash的命令:$docker pull scrapinghub/splash

运行命令:$docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash  ,开启8050连接端口和5023监控端口或者只开启8050端口。

最后在scrapy项目中安装scrapy-splash组件,在settings.py中添加#用来支持cache_args(可选),splash设置

SPIDER_MIDDLEWARES = {

#'e_commerce.middlewares.ECommerceSpiderMiddleware': 543,

'scrapy_splash.SplashDeduplicateArgsMiddleware' : 100 ,

}

DOWNLOADER_MIDDLEWARES = {

#'e_commerce.middlewares.ECommerceDow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值